开源的 OpenAPI/Swagger 工具集,提供交互式 API 文档、离线优先的 API 客户端和多种 Web 框架集成。
swagger-api/swagger-codegen
根据 OpenAPI/Swagger 定义生成 API 客户端 SDK、服务端桩代码和文档的命令行工具。
- Star
- 17,793
- Fork
- 5,948
- 未关闭 Issue
- 3,442
- 最近提交
- 昨天
这是什么?
Swagger Codegen 是一个基于模板的代码生成器,读取 OpenAPI 或 Swagger 规范后,可生成 API 客户端库、服务端桩代码和接口文档。团队无需为每种语言手写请求模型和接口封装。
它支持多种目标语言,客户端覆盖 Java、C#、Go、Python、TypeScript、PHP、Swift、Kotlin、Rust 等,服务端桩代码支持 Spring、ASP.NET Core、Flask、Rails 等框架。文档可生成单个静态 HTML 文件,也可生成动态的单页 HTML 应用。生成过程可通过命令行 JAR、Docker,或 Maven、Gradle 等构建工具集成完成。
项目分为 2.X 和 3.X 两条版本线,使用不同的 Maven group ID;OpenAPI 3.0 仅在 3.X 版本中支持。模板可自定义,便于调整输出结果或新增目标语言。
核心功能
- 01根据 OpenAPI 或 Swagger 规范生成数十种语言和框架的 API 客户端。
- 02为 Spring、ASP.NET Core、Flask、Rails 等框架生成服务端桩代码。
- 03生成静态或动态的 HTML 接口文档。
- 04模板可自定义,用于调整输出或新增生成器。
- 05可通过命令行、Docker 或 Maven、Gradle 工作流运行。
适用场景
- 为内部 REST API 生成类型化 SDK,供多个客户端团队使用。
- 基于规范优先(spec-first)的接口设计生成服务端代码骨架。
- 从 OpenAPI 文件生成 HTML 接口参考文档。
- 生成示例客户端,便于了解生成代码的结构。
快速上手
- 1
克隆代码仓库
git clone https://github.com/swagger-api/swagger-codegen - 2
进入项目目录
cd swagger-codegen - 3
使用 Maven 构建项目
mvn clean package - 4
从 Petstore 规范生成 PHP 客户端
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client
使用前须知
- 需要使用 Java 和 Maven 从源码构建,安装配置有一定工作量。
- 2.X 和 3.X 版本分别维护,且 Maven group ID 不同,使用前需确认所需版本。
标签
常见问题
- swagger-codegen 是什么?
- 根据 OpenAPI/Swagger 定义生成 API 客户端 SDK、服务端桩代码和文档的命令行工具。 Swagger Codegen 是一个基于模板的代码生成器,读取 OpenAPI 或 Swagger 规范后,可生成 API 客户端库、服务端桩代码和接口文档。团队无需为每种语言手写请求模型和接口封装。
- swagger-codegen 可以免费使用吗?用的什么许可证?
- swagger-codegen 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- swagger-codegen 还在维护吗?
- 活跃维护中。swagger-codegen 最近一次提交是在 2026年10月22日。
- swagger-codegen 适合用来做什么?
- 为内部 REST API 生成类型化 SDK,供多个客户端团队使用。 基于规范优先(spec-first)的接口设计生成服务端代码骨架。 从 OpenAPI 文件生成 HTML 接口参考文档。 生成示例客户端,便于了解生成代码的结构。
- swagger-codegen 怎么安装和运行?
- 克隆代码仓库: git clone https://github.com/swagger-api/swagger-codegen 进入项目目录: cd swagger-codegen 使用 Maven 构建项目: mvn clean package 从 Petstore 规范生成 PHP 客户端: java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i https://petstore.swagger.io/v2/swagger.json -l php -o /var/tmp/php_api_client
- 在哪里获取 swagger-codegen?
- 源代码和安装说明在 GitHub 上:https://github.com/swagger-api/swagger-codegen
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.6万959TypeScriptMIT更新于 24小时前
Swagger UI 可根据 OpenAPI/Swagger 规范文件在浏览器中生成可交互的 API 文档。
2.9万9248JavaScriptApache-2.0更新于 23小时前
根据 OpenAPI 规范自动生成多种语言的 API 客户端 SDK、服务端桩代码和文档。
2.7万7726JavaApache-2.0更新于 昨天
开源工具,可根据 OpenAPI、Swagger、AsyncAPI 或 GraphQL 定义生成响应式的 API 参考文档站点。
2.6万2403TypeScriptMIT更新于 昨天
开源 API 客户端,将请求集合以纯文本文件保存在本地,是 Postman、Insomnia 的离线替代品。
4.8万3024JavaScriptMIT更新于 昨天