CURL转SwaggerJSON
在线CURL转Swagger JSON工具,粘贴CURL命令即可一键生成标准OpenAPI 3.0规范。自动识别HTTP方法、URL路径与参数、Header、请求体、Basic/Bearer鉴权,生成含schema、example、servers与security配置的完整Swagger JSON,适用于API文档编写、团队分享与Swagger UI预览。
—
BaseURL:—
输入 CURL 命令后点击「转换为Swagger JSON」或按 Ctrl+Enter
功能特性
智能CURL解析
支持完整CURL语法:-X/--request、-H/--header、-d/--data、--data-raw、--data-binary、--data-urlencode、-F、-u、--oauth2-bearer、-A、-e 等参数。
标准OpenAPI 3.0
生成符合OpenAPI 3.0规范的Swagger JSON,含info、servers、paths、components、security,可直接导入Swagger UI、Apifox、Postman等工具。
完整Schema与示例
自动解析请求体类型(JSON、表单、multipart),生成 properties/required schema 与完整 example,字段类型覆盖 string/integer/number/boolean/object/array。
鉴权自动识别
识别 -u Basic 用户名密码与 --oauth2-bearer/Authorization: Bearer 自动生成 securitySchemes(bearerAuth/basicAuth)并配置 security。
路径与Query参数
自动解析URL中的 path 模板占位符(如 /users/{id})与 QueryString,生成 parameters 数组,区分 in=path/query。
灵活元信息配置
支持自定义接口名称、接口描述、基础URL,生成的规范直接可用作正式文档,无需二次整理。
使用说明
如何使用CURL转Swagger JSON工具?
- 在「转换配置」中填写接口名称、接口描述(可选)与基础URL(默认从CURL命令中提取,也可手动覆盖)。
- 「CURL命令」文本框中粘贴完整的 curl 命令,支持以反斜杠换行的多行格式。若不清楚格式,点击顶部三个示例按钮快速填充。
- 点击「转换为Swagger JSON」按钮或直接按
Ctrl+Enter快捷键即可生成 OpenAPI 3.0 JSON。 - 结果区显示生成的规范(带语法高亮),顶部可查看解析到的方法、路径、BaseURL。
- 点击「复制」一键复制到剪贴板,或点击「下载JSON」保存为
swagger-specification.json。
典型CURL命令格式
本工具支持主流 curl 参数写法,以下是常用示例:
GET 请求带 Query 参数
curl -X GET "https://api.example.com/v1/users?page=1&size=20" \ -H "Authorization: Bearer xxx" \ -H "Accept: application/json"
POST 请求发送 JSON 数据
curl -X POST "https://api.example.com/v1/users" \
-H "Content-Type: application/json" \
-d '{"name":"张三","age":28,"email":"zhangsan@example.com"}'
Basic 认证 + 表单上传
curl -X PUT "https://api.example.com/v1/users/1001" \ -u admin:secret123 \ -d "name=李四&role=editor"
典型使用场景
- 快速编写API文档:先在Postman/Browser里跑通接口,复制浏览器的"Copy as cURL",一键生成标准Swagger规范。
- 接口评审分享:把CURL命令转为规范后粘贴到需求文档或Swagger UI中,让团队成员直观阅读接口结构。
- 遗留接口标准化:历史项目接口缺少OpenAPI规范,抓取调用命令快速补齐文档。
- Swagger UI 预览:生成的JSON直接粘贴到SwaggerJSON渲染工具,在线查看可交互文档。
- Postman/Apifox 导入:规范JSON可直接导入Postman、Apifox、YApi等平台,创建完整集合。
常见问题
支持哪些CURL参数?支持多行格式吗?
-X / --request;请求头 -H / --header;数据 -d / --data / --data-raw / --data-binary / --data-urlencode;文件/表单 -F;鉴权 -u / --user / --oauth2-bearer;其它 -A (User-Agent)、-e (Referer) 等。多行格式完全支持——命令行中用 \ 换行、或粘贴多行脚本都会自动合并成一行再解析。
转换失败提示"命令必须以curl开头"或"无法提取URL"?
http:// 或 https:// 协议头;3)若 URL 含空格或特殊字符,请用双引号或单引号包裹;4)如果使用 @文件名 读取本地数据,由于本工具为在线服务无法读取本机文件,请将文件中的内容直接展开到 -d 参数中。
生成的JSON中Content-Type识别不对怎么办?
-H "Content-Type: ..." 请求头;2)无 Header 时按数据形态推断——以 { 或 [ 开头视为 application/json,-F 文件上传视为 multipart/form-data,key=value&... 格式视为 application/x-www-form-urlencoded。若推断错误,请在CURL命令中显式添加 -H "Content-Type: 正确类型" 后再转换。
如何让生成的Swagger JSON包含多个接口?
paths 对象;2)先转成单个规范导入Apifox/Postman,再导出完整OpenAPI文档;3)将多条命令分别转JSON后,使用合并工具拼接 paths 与 components 区块。
Basic/Bearer鉴权会泄露凭证吗?
securitySchemes,并在 components 中声明 Bearer/Basic 方案;若你的命令中包含真实 Token,建议在转换前将 Token 替换为占位字符串(如 YOUR_TOKEN),避免凭证落入规范文件。鉴权Header的值不会自动脱敏,请自行处理。