Swagger转API客户端

在线Swagger Codegen工具,基于OpenAPI/Swagger规范一键生成多语言API客户端与服务端代码,支持34种目标语言/框架,输出为可直接集成的ZIP压缩包。支持Swagger 2.0与OpenAPI 3.0,适用于前后端联调、SDK分发、微服务客户端构建。

生成次数
0
成功次数
0
失败次数
0
支持语言/框架
34
生成配置
Swagger/OpenAPI 规范
生成结果
生成的代码包(ZIP)将自动下载,并在此显示结果...
填写规范后点击「生成代码」按钮,生成的ZIP将自动下载

功能特性

34种语言/框架

覆盖C#、Java、Python、JavaScript、TypeScript、Go、PHP、Ruby、Rust、Kotlin、Swift等客户端SDK,以及ASP.NET Core、Spring、Flask等服务端框架。

双版本规范

同时支持 Swagger 2.0(OpenAPI v2)与 OpenAPI 3.0 规范,根据API文档版本自动选择对应解析器,兼容历史与最新规范。

URL与JSON双输入

支持直接填写规范文件URL由后端下载,或粘贴JSON内容本地输入,满足在线API文档与本地私有规范两种场景。

ZIP打包下载

生成的完整工程结构自动打包为ZIP压缩包一键下载,包含模型、客户端、配置文件等,解压即可集成到项目。

C# RestSharp兼容修复

针对C#客户端自动修复RestSharp新版本语法兼容问题(Method枚举、IRestResponse、文件上传等),降低集成成本。

自定义包名

支持指定生成代码的包名/命名空间(如 com.example.petstore),让生成的SDK直接符合你的项目命名规范。

使用说明

如何使用Swagger转API客户端工具?

  • 选择「OpenAPI版本」:Swagger 2.0 或 OpenAPI 3.0(根据你的规范文档版本选择)。
  • 选择「目标语言/框架」:如 C#、Java、Python、Go 等34种之一,默认为交互式HTML文档(html2)。
  • 可选填写「包名/命名空间」,让生成的代码符合你的项目规范。
  • 切换「URL 输入」或「JSON 输入」标签:URL方式填写规范文件地址,JSON方式直接粘贴规范内容。
  • 点击「生成代码」按钮,后端调用 swagger-codegen 生成并打包为ZIP,浏览器自动下载,结果区显示下载状态。

常见目标语言选择建议

  • C# 项目:选 csharp(.NET Standard,推荐)或 csharp-dotnet2(.NET Core 2.x),已自动修复RestSharp兼容问题。
  • 前端项目:选 typescript-fetch(Fetch API,推荐)或 javascripttypescript-angular
  • API 文档:选 html2 生成可交互的静态HTML文档,便于分享与预览。
  • 移动端:iOS选 swift5objc,Android选 kotlinjava
  • 服务端脚手架:选对应服务端框架(如 aspnetcorespring)生成Controller骨架代码。

典型使用场景

  • 前后端联调:后端发布Swagger文档后,前端一键生成TypeScript客户端,类型安全地调用API。
  • SDK分发:为开放平台生成多语言SDK(Java、Python、Go等),降低第三方接入成本。
  • 微服务客户端:在微服务架构中为每个服务生成客户端SDK,简化服务间调用。
  • API文档生成:将OpenAPI规范转为可交互的HTML文档,便于团队内部共享与评审。
  • 多语言迁移:根据现有API规范快速生成目标语言的客户端骨架,加速技术栈迁移。

常见问题

支持哪些OpenAPI/Swagger版本?
支持 Swagger 2.0(OpenAPI v2)OpenAPI 3.0 两个版本。在「OpenAPI版本」下拉框中选择对应版本即可。两个版本的规范结构不同(如 v2 的 swagger: "2.0" 与 v3 的 openapi: "3.0.0"),工具会根据选择调用对应解析器。如果你的规范文件不确定版本,可查看根节点字段名判断。
生成失败提示"未生成任何文件"怎么办?
该错误通常意味着服务器端 swagger-codegen 命令行工具未安装或不可用,或输入的规范文件存在语法问题。请:1)确认URL可访问或JSON内容有效(可先用JSON校验工具检查);2)确认OpenAPI版本与规范文件实际版本一致;3)确认选择的「目标语言」是受支持的标识符。若问题持续,可能是服务器端swagger-codegen环境异常,建议稍后重试或联系站点维护。
URL输入和JSON输入有什么区别?
URL输入:填写Swagger/OpenAPI规范文件的在线地址(如 https://example.com/openapi.json),后端会主动下载该文件再生成代码,适合公开的API文档。JSON输入:直接粘贴规范文件的JSON全文,适合内网私有API(URL无法公网访问)或需要临时修改规范的场景。两种方式生成的代码完全一致。
生成的C#代码RestSharp报错怎么办?
工具已对C#客户端自动修复了RestSharp新版本的常见兼容问题,包括 Method.POSTMethod.PostIRestResponseRestResponse、文件上传API、URL编码等。如果仍遇到兼容问题,建议升级到最新版RestSharp,或选择 csharp-dotnet2(.NET Core 2.x)生成器。生成的代码默认使用 http://localhost:5284 作为ApiClient基地址,使用前请修改为你的真实API地址。
"包名/命名空间"如何填写?
包名对应生成代码的命名空间/包名:Java/Kotlin用反向域名(如 com.example.petstore);C#用点分命名空间(如 MyApp.Api);Go用模块路径;Python用下划线包名。留空则使用各语言的默认命名。建议按目标语言规范填写,避免生成后大量重命名工作。
本工具是免费的吗?规范数据会被存储吗?
完全免费,无需注册登录。生成过程在服务器内存中完成,规范文件下载/解析后写入临时目录,生成ZIP并返回后会立即删除临时目录,不会持久化存储任何规范内容。但URL方式下规范文件需经服务器中转下载,涉及高度敏感的私有API建议使用JSON输入并先脱敏。