22 个仓库
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 22 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 是一个 Protocol Buffers RPC 框架,旨在实现基于 HTTP 的类型安全、分布式微服务通信。它作为一个微服务通信框架和 API 代码生成器,从模式定义中生成强类型的客户端存根和服务器接口,以消除手动网络样板代码。 该框架通过在标准 HTTP 传输上执行远程过程调用,确保与现有 Web 基础设施的兼容性。它使用模式驱动的契约作为单一事实来源,以实现跨语言互操作性并将业务逻辑与网络传输解耦。 该系统涵盖了几个核心能力领域,包括接口驱动的路由、支持 JSON 和二进制的多格式数据序列化,以及用于横切关注点的请求生命周期中间件。它还提供了一个标准化的错误映射系统,将服务故障转换为机器可读的代码,并包括用于客户端兼容性验证的工具。
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 是一个检查数据库表以自动生成模型对象、映射器接口和 SQL 配置文件的工具。它作为一个数据库模式映射器和 CRUD 操作生成器,将关系数据库列转换为特定语言的类和记录。 该项目是一个可扩展的代码生成器,允许通过插件机制自定义输出文件。该框架支持添加特定的业务逻辑或修改生成过程,以产生定制的输出文件。 该生成器涵盖了广泛的功能,包括动态查询的实现、不可变模型的创建以及标准增删改查(CRUD)操作的自动化。它支持具有虚拟主键的数据库模式映射,并能为包括 Kotlin 在内的多种语言生成代码。 生成过程可以通过命令行工具、直接函数调用或作为集成到持续集成流水线中的构建工具插件来执行。
Creates model objects and configuration files based on database tables to automate data operations.
Blog.Core 是一个生产就绪的后端样板,用于使用 ASP.NET Core 构建企业级 API 和微服务。它为分布式系统提供了基础架构,包括用于数据库优先(database-first)脚手架和实现多租户 API 框架的工具。 该项目的特色在于自动数据层生成,可直接从数据库模式生成实体模型和存储库层。它使用标准身份服务器协议实现了集中式身份管理系统,以处理跨多个客户端和项目的身份验证和授权。 该框架涵盖了广泛的企业级功能,包括通过事件总线进行的异步消息处理、分布式内存缓存以及读写数据库流量分离。它结合了具有部门数据限制的基于角色的访问控制,并通过 API 性能分析和活动审计提供系统可观测性。 该系统还包括对用于推送通知的双向服务器-客户端通信、全文搜索集成以及集中式服务配置的支持。
Automatically creates model, service, and repository classes from existing database tables using templates.
PostgREST 是一个自动将 PostgreSQL 数据库模式转换为生产就绪 RESTful API 的工具。它作为一个数据库访问层和查询引擎,将 HTTP 请求直接映射到 SQL 查询,提供了一个低代码接口,用于执行创建、读取、更新和删除操作,而无需手动编写样板代码。 该项目通过使用模式驱动的 API 生成和基于元数据的发现,将数据库表公开为可导航资源,从而脱颖而出。它通过执行自定义和模板化 SQL、用于注入业务逻辑的基于插件的中间件系统,以及在运行时加载外部共享库的能力,扩展了标准的 CRUD 功能。 该系统涵盖了广泛的功能,包括具有表连接、聚合和全文搜索的复杂数据查询。它实现了一个全面的安全框架,具有基于令牌的身份验证、细粒度的表级权限和 CORS 管理。其他操作功能包括本地结果缓存、服务器健康监控以及对分布式 SQL 和 Amazon Redshift 的连接支持。 安装支持多种环境,包括作为独立二进制文件或通过 Docker Compose 和 Heroku 自动化模板。
Automatically transforms database schemas into functional REST HTTP endpoints without manual boilerplate code.
grpc-web is a translation layer and proxy system that enables web browsers to communicate with gRPC backend services. It consists of a gRPC Web Proxy that converts browser-based HTTP and WebSocket requests into standard gRPC calls, along with a TypeScript gRPC client for making strongly-typed remote procedure calls from browsers or Node.js environments. The project features a bidirectional streaming bridge that utilizes WebSockets to bypass browser limitations, allowing for full-duplex communication and client-side data streaming. It includes a protocol buffer code generator that parses schem
Parses .proto files to generate typed JavaScript and TypeScript request and response classes.
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
Defines query plans that enforce resource access conditions at the database level.
这是一个 Protocol Buffer 验证插件和代码生成器,可在多种编程语言中创建一致的验证逻辑。它作为 Protocol Buffer 工具链的编译器扩展,允许开发人员直接在模式文件中定义语义约束,以确保数据一致性。 该工具使用自定义选项将验证规则嵌入到消息定义中,并将这些模式约束映射到特定语言的实现模式。它采用基于谓词的约束检查和递归遍历,以在嵌套消息层级中强制执行规则。 验证范围涵盖数值范围和值、字符串模式和格式、字节序列约束以及枚举强制执行。它还管理集合和重复字段大小、时间戳和持续时间的复杂类型验证,以及联合字段选择的要求。
Provides a protoc plugin that generates code to enforce semantic constraints and data validation rules for messages.
Space Cloud 是一个自托管的云原生后端即服务 (BaaS) 套件。它作为一个基于 Kubernetes 的无服务器平台,提供 GraphQL 和 REST API 网关、数据库 API 生成器以及事件驱动的编排器。 该平台将 SQL 和 NoSQL 数据库模式转换为安全端点,消除了手动后端开发的需要。它通过允许远程数据连接脱颖而出,该功能可以在单个查询中组合来自内部数据库和外部 HTTP 微服务的记录。 该系统涵盖了广泛的功能,包括用于数据安全的基于规则的访问控制、实时数据同步以及用于云对象存储的统一接口。它还包括一个自动化引擎,用于响应数据库或文件系统事件来触发异步 Webhook 和无服务器函数。 部署通过 Kubernetes 管理,支持具有缩容至零 (scale-to-zero) 自动扩缩容能力的容器化工作负载。
Automatically transforms database schemas into functional GraphQL and REST endpoints.