Swagger Codegenジェネレーター
デフォルトのジェネレーター設定が要件を満たさない場合は、既存のモジュールやテンプレートを変更したり、新しいモジュールやテンプレートを作成したりするさまざまなオプションがあります。
クライアントライブラリ形式の変更
デフォルトのswaggerクライアント構文が気に入らない?別の言語をサポートしたい?問題ありません!
Swagger Codegenは、Handlebars.javaエンジンでHandlebarテンプレートを処理します。当社のテンプレートを修正したり、独自のテンプレートを作成したりできます。
例については、swagger-codegen-generatorsをご覧ください。独自のテンプレートを作成するには、独自のファイルを作成し、-t
フラグを使用してテンプレートフォルダを指定します。本当に簡単です!
独自のコード生成モジュールの作成
新しい言語でプロジェクトを開始していて、必要なものが見つからない場合、Swagger Codegenは、独自のライブラリを生成するプロジェクトを作成するのに役立ちます。
1java -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
を使用してライブラリをコンパイルし、次のようにコード生成ツールを実行します。
1java -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ユーザーは、クラスパスで:
の代わりに;
を使用する必要があります。例:
1java -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
がオプションになり、ライブラリを生成するために通常の引数を使用できることに注意してください。
1java -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から作成したり、飛行機でコーディングしたりするのに最適です✈️。