跳至內容

Swagger Codegen 線上產生器

也可以使用線上產生器 (https://generator.swagger.io) 產生 API 客戶端或伺服器。

例如,若要產生 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
}

其中語言的 options 可以透過向 https://generator.swagger.io/api/gen/clients/{language} 發送 GET 請求來取得。

例如,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

除了使用 URL 至 OpenAPI/Swagger 規格的 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
}