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
その後、圧縮されたコードをダウンロードするための URL を含む JSON レスポンスが届きます。
SDK をカスタマイズするには、次の HTTP ボディで https://generator.swagger.io/api/gen/clients/{language}
に POST
します。
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}