Repolode
swagger-api

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. 1

    克隆代码仓库

    git clone https://github.com/swagger-api/swagger-codegen
  2. 2

    进入项目目录

    cd swagger-codegen
  3. 3

    使用 Maven 构建项目

    mvn clean package
  4. 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 数据每日更新。

相关项目