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,您可以向 https://generator.swagger.io/api/gen/clients/{language}
发送 POST
请求,并附带以下 HTTP 正文
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
除了使用包含 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}