Swagger Codegen 線上產生器
也可以使用線上產生器 (https://generator.swagger.io) 產生 API 客戶端或伺服器。
例如,若要產生 Ruby API 客戶端,只需使用 curl 發送以下 HTTP 請求
1curl -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 主體 POST
至 https://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 命令
1curl -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}