跳到内容

Swagger Codegen 在线生成器

还可以使用在线生成器生成 API 客户端或服务器(https://generator.swagger.io

例如,要生成 Ruby API 客户端,只需使用 curl 发送以下 HTTP 请求

终端窗口
1
curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"https://petstore.swagger.io/v2/swagger.json"}' https://generator.swagger.io/api/gen/clients/ruby

然后,您将收到一个 JSON 响应,其中包含下载压缩代码的 URL。

要自定义 SDK,可以使用以下 HTTP 正文POSThttps://generator.swagger.io/api/gen/clients/{language}

1
{
2
"options": {},
3
"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json"
4
}

其中,可以通过向https://generator.swagger.io/api/gen/clients/{language}提交GET请求来获取语言的options

例如,curl https://generator.swagger.io/api/gen/clients/python返回

1
{
2
"packageName": {
3
"opt": "packageName",
4
"description": "python package name (convention: snake_case).",
5
"type": "string",
6
"default": "swagger_client"
7
},
8
"packageVersion": {
9
"opt": "packageVersion",
10
"description": "python package version.",
11
"type": "string",
12
"default": "1.0.0"
13
},
14
"sortParamsByRequiredFlag": {
15
"opt": "sortParamsByRequiredFlag",
16
"description": "Sort method arguments to place required parameters before optional parameters.",
17
"type": "boolean",
18
"default": "true"
19
}
20
}

要将包名称设置为pet_store,请求的 HTTP 正文如下

1
{
2
"options": {
3
"packageName": "pet_store"
4
},
5
"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json"
6
}

这是 curl 命令

终端窗口
1
curl -H "Content-type: application/json" -X POST -d '{"options": {"packageName": "pet_store"},"swaggerUrl": "https://petstore.swagger.io/v2/swagger.json"}' https://generator.swagger.io/api/gen/clients/python

除了使用带有 OpenAPI/Swagger 规范 URL 的swaggerUrl之外,还可以将规范包含在带有spec的 JSON 有效负载中,例如

1
{
2
"options": {},
3
"spec": {
4
"swagger": "2.0",
5
"info": {
6
"version": "1.0.0",
7
"title": "Test API"
8
},
9
...
10
}
11
}