20 repository-uri
Tools that automatically produce server stubs and client libraries from API interface definitions.
Distinguishing note: Focuses on automated generation of backend stubs from interface specifications.
Explore 20 awesome GitHub repositories matching development tools & productivity · API Code Generators. Refine with filters or upvote what's useful.
go-zero is a toolkit for building cloud-native distributed services in Go. It functions as a microservices framework that provides built-in support for RPC, web APIs, and service discovery. The project includes a microservices code generator that produces production-ready server and client boilerplate from API descriptions. This automation is supported by a domain-specific language and pattern libraries designed to ensure compatibility with AI assistants. The framework incorporates a resilience suite for distributed system reliability, utilizing adaptive circuit breakers, rate limiting, and
Provides a utility to automatically produce server stubs and client libraries from API interface definitions.
yapi is an API management platform designed to coordinate the development of RESTful APIs between frontend, backend, and quality assurance teams. It functions as a centralized system for documenting interface specifications, simulating server responses, and validating requests through a built-in testing client. The platform features an API code generator that transforms interface specifications into typed request functions and data models across multiple programming languages. It also includes a mock server capable of generating synthetic responses using schema-based generators and rule-based
Produces typed request functions and data models in multiple languages from interface specifications.
This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages. The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-bas
Generates boilerplate server-side code and data models from API definitions to ensure consistent implementation.
Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame
Provides tools to automatically produce server stubs and client libraries from API interface definitions.
APIJSON is a no-code database API generator and object-relational mapping layer that automatically transforms relational database schemas into functional HTTP endpoints. It provides a system for generating CRUD operations and technical documentation without the need to write manual backend code. The project is distinguished by its ability to allow clients to define custom JSON response structures and field aliases directly within the request. It features dynamic query translation that converts structured JSON parameters into optimized SQL for complex relational joins, subqueries, and data agg
Automatically generates CRUD HTTP endpoints and technical documentation based on relational database schemas.
Swagger Codegen is a template-driven engine and multi-language toolkit used to generate API client SDKs, server stubs, and human-readable documentation from OpenAPI specifications. It translates these specifications into functional libraries and boilerplate routing code across various target programming languages. The tool utilizes a pluggable generator module system and an integrated template engine, allowing for the customization of generated source code and the creation of new language-specific generators. It supports flexible specification sourcing via local files, remote HTTP endpoints,
Generates client libraries and server stubs by processing API definition files stored on the local filesystem.
This project is a Spring Boot API starter kit and RESTful project skeleton designed for building backend services. It provides a foundational codebase that implements a layered service architecture and standardized directory structures to organize controllers, services, and data mappers. The project features a MyBatis CRUD boilerplate generator that automates the creation of models and controllers from database tables using customizable templates. It includes a security framework for protecting endpoints via interface signature authentication to verify user identity and request authorization.
Automates the creation of data access layers to reduce manual coding for database operations.
This project is an end-to-end encrypted communication client designed for secure messaging and identity management using public-key cryptography. It provides a cryptographic identity manager to verify authenticity across platforms and integrates a local messaging daemon to synchronize encrypted data and handle network communication. The system features a remote encrypted file system that mounts encrypted storage as local directories for direct file interaction. It also includes automated identity provisioning for registering and authenticating new devices and automation bots using cryptograph
Provides tools to automatically generate client libraries and server stubs from API interface definitions.
Twirp este un framework RPC Protocol Buffers conceput pentru implementarea comunicării de microservicii distribuite, type-safe, prin HTTP. Acesta funcționează ca un framework de comunicare pentru microservicii și un generator de cod API care produce stub-uri de client și interfețe de server puternic tipizate din definițiile de schemă, pentru a elimina boilerplate-ul manual de rețea. Framework-ul asigură compatibilitatea cu infrastructura web existentă prin executarea apelurilor de procedură la distanță (RPC) prin transport HTTP standard. Utilizează contracte bazate pe schemă ca o singură sursă de adevăr pentru a permite interoperabilitatea între limbaje și a decupla logica de business de transportul de rețea. Sistemul acoperă mai multe domenii de capabilități de bază, inclusiv rutarea bazată pe interfață, serializarea datelor în formate multiple (suportând atât JSON, cât și binar) și middleware pentru ciclul de viață al cererilor pentru preocupări transversale. De asemenea, oferă un sistem standardizat de mapare a erorilor pentru a traduce eșecurile serviciului în coduri lizibile de către mașină și include instrumente pentru verificarea compatibilității clientului.
Automates the production of server stubs and client libraries from API interface definitions.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Automatically produces server stubs and controller classes from API interface definitions.
Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements. The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails. The architecture includes an asynchronous task worker system using a message queue to offload long-
Produces server stubs and client libraries from Protocol Buffer interface definitions.
Goa is a design-first Go framework that generates server and client code, documentation, and request validation from a single declarative domain-specific language (DSL). At its core, it provides a Go DSL for defining API endpoints, data types, and error models, which compiles into fully functional HTTP and gRPC server stubs, client packages, and OpenAPI specifications. The framework distinguishes itself through its plugin-extensible code generation pipeline, allowing custom code generation steps, middleware, or transport layers to be added via plugins. It supports multiple transport protocols
Produces fully functional HTTP and gRPC server stubs from the API design specification.
TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releas
Writes emitters and decorators to produce client libraries, server stubs, or documentation in any target format.
MyBatis Generator este un instrument care inspectează tabelele bazei de date pentru a produce automat obiecte model, interfețe mapper și fișiere de configurare SQL. Funcționează ca un mapper de schemă de bază de date și generator de operațiuni CRUD, traducând coloanele bazei de date relaționale în clase și înregistrări specifice limbajului. Proiectul este un generator de cod extensibil care permite personalizarea fișierelor de ieșire printr-un mecanism de plugin-uri. Acest framework permite adăugarea unei logici de business specifice sau modificarea procesului de generare pentru a produce fișiere de ieșire adaptate. Generatorul acoperă o gamă largă de capabilități, inclusiv implementarea interogărilor dinamice, crearea de modele imuabile și automatizarea operațiunilor standard de creare, citire, actualizare și ștergere. Suportă maparea schemei bazei de date cu chei primare virtuale și poate genera cod pentru mai multe limbaje, inclusiv Kotlin. Procesul de generare poate fi executat prin instrumente CLI, apeluri directe de funcții sau ca un plugin de build tool integrat în pipeline-urile de integrare continuă.
Creates model objects and configuration files based on database tables to automate data operations.
Blog.Core este un boilerplate de backend pregătit pentru producție, destinat construirii de API-uri enterprise și microservicii folosind ASP.NET Core. Oferă o infrastructură fundamentală pentru sisteme distribuite, inclusiv instrumente pentru scaffolding-ul bazat pe baza de date și implementarea de framework-uri API multi-tenant. Proiectul se distinge prin generarea automată a stratului de date, care produce modele de entități și straturi de repository direct din schemele bazei de date. Implementează un sistem centralizat de gestionare a identității folosind protocoale standard de server de identitate pentru a gestiona autentificarea și autorizarea în mai mulți clienți și proiecte. Framework-ul acoperă o gamă largă de capabilități enterprise, inclusiv procesarea asincronă a mesajelor prin event bus-uri, caching distribuit în memorie și separarea traficului de citire-scriere în baza de date. Încorporează controlul accesului bazat pe roluri cu restricții de date departamentale și oferă observabilitate a sistemului prin profilarea performanței API și auditarea activității. Sistemul include, de asemenea, suport pentru comunicarea bidirecțională server-client pentru notificări push, integrare de căutare full-text și configurare centralizată a serviciilor.
Automatically creates model, service, and repository classes from existing database tables using templates.
PostgREST este un instrument care transformă automat o schemă de bază de date PostgreSQL într-un API RESTful gata de producție. Servește drept strat de acces la baza de date și motor de interogare care mapează cererile HTTP direct în interogări SQL, oferind o interfață low-code pentru executarea operațiunilor de creare, citire, actualizare și ștergere (CRUD) fără a necesita cod boilerplate manual. Proiectul se distinge prin utilizarea generării de API bazată pe schemă și descoperirea bazată pe metadate pentru a expune tabelele bazei de date ca resurse navigabile. Extinde capabilitățile CRUD standard prin executarea de SQL personalizat și șablonat, un sistem de middleware bazat pe plugin-uri pentru injectarea logicii de business și capacitatea de a încărca biblioteci partajate externe la runtime. Sistemul acoperă o gamă largă de capabilități, inclusiv interogarea complexă a datelor cu join-uri de tabele, agregări și căutare full-text. Implementează un framework de securitate cuprinzător care include autentificare bazată pe token, permisiuni granulare la nivel de tabel și gestionarea CORS. Caracteristicile operaționale suplimentare includ caching-ul local al rezultatelor, monitorizarea stării de sănătate a serverului și conectivitate pentru SQL distribuit și Amazon Redshift. Instalarea este suportată în mai multe medii, inclusiv ca binar independent sau prin șabloane de automatizare Docker Compose și Heroku.
Automatically transforms database schemas into functional REST HTTP endpoints without manual boilerplate code.
grpc-web este un strat de traducere și un sistem proxy care permite browserelor web să comunice cu serviciile backend gRPC. Acesta constă dintr-un gRPC Web Proxy care convertește cererile HTTP și WebSocket bazate pe browser în apeluri gRPC standard, împreună cu un client gRPC TypeScript pentru efectuarea de apeluri de procedură la distanță (RPC) puternic tipizate din browsere sau medii Node.js. Proiectul include un bridge de streaming bidirecțional care utilizează WebSockets pentru a ocoli limitările browserului, permițând comunicarea full-duplex și streaming-ul de date client-side. Include un generator de cod pentru protocol buffers care analizează fișierele de schemă pentru a produce clase de cerere și răspuns tipizate în JavaScript și TypeScript. Sistemul acoperă o gamă largă de capabilități, inclusiv selecția transportului, gestionarea CORS pentru a restricționa originile aprobate și conectivitatea backend securizată prin criptare TLS. De asemenea, oferă monitorizarea traficului proxy pentru a urmări cererile și conexiunile prin metrici și endpoint-uri de debug.
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
Acest proiect este un plugin de validare a protocol buffer-elor și un generator de cod care creează o logică de validare consistentă în mai multe limbaje de programare. Funcționează ca o extensie de compilator pentru toolchain-ul Protocol Buffer, permițând dezvoltatorilor să definească constrângeri semantice direct în fișierele de schemă pentru a asigura consistența datelor. Instrumentul utilizează opțiuni personalizate pentru a încorpora reguli de validare în definițiile mesajelor, mapând aceste constrângeri de schemă la tipare de implementare specifice limbajului. Utilizează verificarea constrângerilor bazată pe predicate și parcurgerea recursivă pentru a impune reguli în ierarhiile de mesaje imbricate. Suprafața de validare acoperă intervale și valori numerice, tipare și formate de șiruri, constrângeri de secvențe de octeți și impunerea enum-urilor. De asemenea, gestionează dimensiunile colecțiilor și câmpurilor repetate, validarea tipurilor complexe pentru timestamp-uri și durate, precum și cerințele pentru selecția câmpurilor de tip union.
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
Space Cloud este o suită backend-as-a-service cloud-native, auto-găzduită. Acesta funcționează ca o platformă serverless bazată pe Kubernetes care oferă un gateway API GraphQL și REST, un generator de API pentru baze de date și un orchestrator bazat pe evenimente. Platforma transformă schemele bazelor de date SQL și NoSQL în endpoint-uri securizate, eliminând nevoia de dezvoltare manuală a backend-ului. Se distinge prin capacitatea de a efectua join-uri de date la distanță, care combină înregistrări din baze de date interne și microservicii HTTP externe într-o singură interogare. Sistemul acoperă o gamă largă de capacități, inclusiv controlul accesului bazat pe reguli pentru securitatea datelor, sincronizarea datelor în timp real și o interfață unificată pentru stocarea obiectelor în cloud. Include, de asemenea, un motor de automatizare pentru declanșarea webhook-urilor asincrone și a funcțiilor serverless ca răspuns la evenimente din baza de date sau sistemul de fișiere. Implementarea este gestionată prin Kubernetes, suportând workload-uri containerizate cu autoscaling până la zero.
Automatically transforms database schemas into functional GraphQL and REST endpoints.
Acest proiect este un instrument de linie de comandă care automatizează crearea de clienți HTTP TypeScript type-safe direct din specificațiile OpenAPI. Prin transformarea definițiilor de serviciu în cod sursă structurat, asigură sincronizarea tipurilor end-to-end și impune integritatea datelor la runtime peste limitele rețelei. Generatorul se distinge prin maparea structurilor de date OpenAPI către scheme de validare Zod, permițând maparea consistentă a tipurilor bazată pe schemă și validarea răspunsurilor. Suportă sinteza sursei deduplicate pentru a minimiza redundanța în output-ul generat și oferă opțiuni de personalizare a șabloanelor, permițând utilizatorilor să modifice structura și formatarea codului rezultat prin reguli de randare definite. Instrumentul gestionează întregul ciclu de viață al creării clientului, de la parsarea specificațiilor API eterogene într-un model intern unificat până la randarea handler-elor de cereri executabile. Este conceput pentru a se integra în fluxurile de lucru de dezvoltare prin producerea de module gata de utilizare care mențin contracte de date stricte între servicii.
Provides a command-line interface that automates the creation of structured network request handlers and response validation logic.