コンテンツにスキップ

Swagger Codegenジェネレーター

デフォルトのジェネレーター設定が要件を満たさない場合は、既存のモジュールやテンプレートを変更したり、新しいモジュールやテンプレートを作成したりするさまざまなオプションがあります。

クライアントライブラリ形式の変更

デフォルトのswaggerクライアント構文が気に入らない?別の言語をサポートしたい?問題ありません!

Swagger Codegenは、Handlebars.javaエンジンでHandlebarテンプレートを処理します。当社のテンプレートを修正したり、独自のテンプレートを作成したりできます。

例については、swagger-codegen-generatorsをご覧ください。独自のテンプレートを作成するには、独自のファイルを作成し、-tフラグを使用してテンプレートフォルダを指定します。本当に簡単です!

独自のコード生成モジュールの作成

新しい言語でプロジェクトを開始していて、必要なものが見つからない場合、Swagger Codegenは、独自のライブラリを生成するプロジェクトを作成するのに役立ちます。

ターミナルウィンドウ
1
java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar meta \
2
-o output/myLibrary -n myClientCodegen -p com.my.company.codegen

これにより、output/myLibraryフォルダに、README.mdを含む、開始に必要なすべてのファイルが書き込まれます。変更してコンパイルしたら、コード生成ツールでライブラリをロードし、独自のカスタムロジックでクライアントを生成できます。

その後、output/myLibraryフォルダでmvn packageを使用してライブラリをコンパイルし、次のようにコード生成ツールを実行します。

ターミナルウィンドウ
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

Windowsユーザーは、クラスパスで:の代わりに;を使用する必要があります。例:

ターミナルウィンドウ
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar;modules/swagger-codegen-cli/target/swagger-codegen-cli.jar io.swagger.codegen.v3.cli.SwaggerCodegen

myClientCodegenがオプションになり、ライブラリを生成するために通常の引数を使用できることに注意してください。

ターミナルウィンドウ
1
java -cp output/myLibrary/target/myClientCodegen-swagger-codegen-1.0.0.jar:modules/swagger-codegen-cli/target/swagger-codegen-cli.jar \
2
io.swagger.codegen.v3.cli.SwaggerCodegen generate -l myClientCodegen\
3
-i http://petstore.swagger.io/v2/swagger.json \
4
-o myClient

スタンドアロンジェネレーター開発」も参照してください。

ローカルファイルからのクライアント生成

サーバーを呼び出したくない場合は、OpenAPI Descriptionファイルをディレクトリに保存し、次のようにコードジェネレーターに引数を渡すことができます。

ターミナルウィンドウ
1
-i ./modules/swagger-codegen/src/test/resources/2_0/petstore.json

CIサーバーでライブラリを作成したり、Swagger Editorから作成したり、飛行機でコーディングしたりするのに最適です✈️。