Swagger Codegen 在线生成器
还可以使用在线生成器生成 API 客户端或服务器(https://generator.swagger.io)
例如,要生成 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}
其中,可以通过向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 命令
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}