3.9. Camel REST DSL OpenApi Maven プラグイン
Camel REST DSL OpenApi Maven プラグインは、次の目的をサポートします。
- camel-restdsl-openapi:generate - OpenApi 仕様からコンシューマー REST DSL RouteBuilder ソースコードを生成する
- camel-restdsl-openapi:generate-with-dto - OpenApi 仕様から、swagger-codegen-maven-plugin 経由で生成された DTO モデルクラスを使用してコンシューマー REST DSL RouteBuilder ソースコードを生成する
- camel-restdsl-openapi:generate-xml - OpenApi 仕様からコンシューマー REST DSL XML ソースコードを生成する
- camel-restdsl-openapi:generate-xml-with-dto - OpenApi 仕様から、swagger-codegen-maven-plugin 経由で生成された DTO モデルクラスを使用してコンシューマー REST DSL XML ソースコードを生成する
- camel-restdsl-openapi:generate-yaml - OpenApi 仕様からコンシューマー REST DSL YAML ソースコードを生成する
- camel-restdsl-openapi:generate-yaml-with-dto - OpenApi 仕様から、swagger-codegen-maven-plugin 経由で生成された DTO モデルクラスを使用してコンシューマー REST DSL YAML ソースコードを生成する
3.9.1. Maven pom.xml へのプラグインの追加 リンクのコピーリンクがクリップボードにコピーされました!
このプラグインは、Spring Boot アプリケーションなどの plugins セクションに追加することで、Maven pom.xml ファイルに追加できます。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-restdsl-openapi-plugin</artifactId>
<version>{CamelCommunityVersion}</version>
</plugin>
</plugins>
</build>
次に、以下に示すように、接頭辞 camel-restdsl-openapi を使用してプラグインを実行できます。
$mvn camel-restdsl-openapi:generate
3.9.2. camel-restdsl-openapi:generate リンクのコピーリンクがクリップボードにコピーされました!
Camel REST DSL OpenApi Maven プラグインの目的は、Maven から REST DSL RouteBuilder 実装ソースコードを生成するために使用されます。
3.9.2.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは、コマンドラインから設定するか (-D 構文を使用)、configuration タグの pom.xml ファイルに定義できる次のオプションをサポートします。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
|
|
コード生成をスキップするには、 |
|
|
指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、 | |
|
|
|
OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の |
|
| OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。 | |
|
|
|
生成されたクラスの名前。OpenApi 仕様のタイトルから取得されるか、デフォルトで |
|
|
|
生成されたクラスのパッケージの名前。OpenApi 仕様のホスト値またはデフォルトで |
|
|
|
使用するインデント文字 (デフォルトでは 4 つのスペース)、 |
|
|
|
生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の |
|
|
宛先エンドポイントをカスタマイズするための | |
|
|
| to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。 |
|
|
| 検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。 |
|
|
| |
|
|
| リクエストの検証を有効にするかどうか。 |
|
| OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。 | |
|
|
| カスタム RequestMapping マッピング値の生成を許可します。複数のマッピング値は次のように渡すことができます。
|
3.9.3. サーブレットコンポーネントを含む Spring Boot プロジェクト リンクのコピーリンクがクリップボードにコピーされました!
Maven プロジェクトが Spring Boot プロジェクトであり、restConfiguration が有効で、サーブレットコンポーネントが REST コンポーネントとして使用されている場合、このプラグインは @SpringBootApplication メインクラスが配置されているパッケージ名 (packageName が明示的に設定されていない場合) を自動検出します。そして、Rest DSL ソースコードと必要な CamelRestController サポートクラスの生成に同じパッケージ名を使用します。
3.9.4. camel-restdsl-openapi:generate-with-dto リンクのコピーリンクがクリップボードにコピーされました!
generate ゴールとして機能しますが、swagger-codegen-maven-plugin を自動的に実行して OpenApi 仕様から DTO モデルクラスの Java ソースコードを生成することにより、DTO モデルクラスも生成します。
このプラグインは、モデル DTO を生成するために swagger-codegen-maven-plugin を使用するためのデフォルトの優れた努力セットのみをサポートするように範囲が定められ、制限されています。さらなるパワーと柔軟性が必要な場合は、このプラグインではなく、Swagger Codegen Maven プラグイン を直接使用して DTO を生成します。
DTO クラスには、次のような追加の依存関係が必要になる場合があります。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-core</artifactId>
<version>2.2.8</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>1.6.8</version>
</dependency>
3.9.4.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは次の 追加 オプションをサポートしています。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| 3.0.36 |
使用する |
|
| ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi) | |
|
|
| 生成されたモデルオブジェクト/クラスに使用するパッケージ |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| false | 生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。 |
|
|
言語固有のパラメーターのマップを |
3.9.5. camel-restdsl-openapi:generate-xml リンクのコピーリンクがクリップボードにコピーされました!
Camel REST DSL OpenApi Maven プラグインの camel-restdsl-openapi:generate-xml ゴールは、Maven から REST DSL XML 実装ソースコードを生成するために使用されます。
3.9.5.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは、コマンドラインから設定するか (-D 構文を使用)、<configuration> タグの pom.xml ファイルに定義できる次のオプションをサポートします。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
|
|
コード生成をスキップするには、 |
|
|
指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、 | |
|
|
|
OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の |
|
| OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。 | |
|
|
|
生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の |
|
|
| 出力としての XML ファイルの名前。 |
|
|
| 有効にすると、Spring XML の代わりに OSGi Blueprint XML が生成されます。 |
|
|
宛先エンドポイントをカスタマイズするための | |
|
|
| to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。 |
|
|
| |
| 検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。 |
| |
|
|
|
|
| リクエストの検証を有効にするかどうか。 |
| |
| OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。 |
|
|
3.9.6. camel-restdsl-openapi:generate-xml-with-dto リンクのコピーリンクがクリップボードにコピーされました!
generate-xml ゴールとして機能しますが、swagger-codegen-maven-plugin を自動的に実行して OpenApi 仕様から DTO モデルクラスの Java ソースコードを生成することにより、DTO モデルクラスも生成します。
このプラグインは、モデル DTO を生成するために swagger-codegen-maven-plugin を使用するためのデフォルトの優れた努力セットのみをサポートするように範囲が定められ、制限されています。さらなるパワーと柔軟性が必要な場合は、このプラグインではなく、Swagger Codegen Maven プラグイン を直接使用して DTO を生成します。
DTO クラスには、次のような追加の依存関係が必要になる場合があります。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-core</artifactId>
<version>2.2.8</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>1.6.8</version>
</dependency>
3.9.6.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは次の 追加 オプションをサポートしています。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| 3.0.36 |
使用する |
|
| ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi) | |
|
|
| 生成されたモデルオブジェクト/クラスに使用するパッケージ |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| false | 生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。 |
|
|
言語固有のパラメーターのマップを |
3.9.7. camel-restdsl-openapi:generate-yaml リンクのコピーリンクがクリップボードにコピーされました!
Camel REST DSL OpenApi Maven プラグインの camel-restdsl-openapi:generate-yaml ゴールは、Maven から REST DSL YAML 実装ソースコードを生成するために使用されます。
3.9.7.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは、コマンドラインから設定するか (-D 構文を使用)、<configuration> タグの pom.xml ファイルに定義できる次のオプションをサポートします。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
|
|
コード生成をスキップするには、 |
|
|
指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、 | |
|
|
|
OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の |
|
| OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。 | |
|
|
|
生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の |
|
|
| 出力としての XML ファイルの名前。 |
|
|
宛先エンドポイントをカスタマイズするための | |
|
|
| to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。 |
|
|
| |
| 検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。 |
| |
|
|
|
|
| リクエストの検証を有効にするかどうか。 |
| |
| OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。 |
|
|
3.9.8. camel-restdsl-openapi:generate-yaml-with-dto リンクのコピーリンクがクリップボードにコピーされました!
generate-yaml ゴールとして機能しますが、swagger-codegen-maven-plugin を自動的に実行して OpenApi 仕様から DTO モデルクラスの Java ソースコードを生成することにより、DTO モデルクラスも生成します。
このプラグインは、モデル DTO を生成するために swagger-codegen-maven-plugin を使用するためのデフォルトの優れた努力セットのみをサポートするように範囲が定められ、制限されています。さらなるパワーと柔軟性が必要な場合は、このプラグインではなく、Swagger Codegen Maven プラグイン を直接使用して DTO を生成します。
DTO クラスには、次のような追加の依存関係が必要になる場合があります。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-core</artifactId>
<version>2.2.8</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>1.6.8</version>
</dependency>
3.9.8.1. オプション リンクのコピーリンクがクリップボードにコピーされました!
プラグインは次の 追加 オプションをサポートしています。
| パラメーター | デフォルト値 | 説明 |
|---|---|---|
|
| 3.0.36 |
使用する |
|
| ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi) | |
|
|
| 生成されたモデルオブジェクト/クラスに使用するパッケージ |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| モデルクラスと列挙型の接頭辞または接尾辞を設定します。 | |
|
| false | 生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。 |
|
|
言語固有のパラメーターのマップを |