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,推荐)或javascript、typescript-angular。 - API 文档:选
html2生成可交互的静态HTML文档,便于分享与预览。 - 移动端:iOS选
swift5或objc,Android选kotlin或java。 - 服务端脚手架:选对应服务端框架(如
aspnetcore、spring)生成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.POST→Method.Post、IRestResponse→RestResponse、文件上传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输入并先脱敏。