コンテンツにスキップ

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

その後、圧縮されたコードをダウンロードするための 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 コマンドは次のとおりです。

ターミナルウィンドウ
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

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
}