1.8. 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 ソースコードを生成するには

1.8.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>
Copy to Clipboard Toggle word wrap

次に、以下に示すように、接頭辞 camel-restdsl-openapi を使用してプラグインを実行できます。

$mvn camel-restdsl-openapi:generate
Copy to Clipboard Toggle word wrap

1.8.2. camel-restdsl-openapi:generate

Camel REST DSL OpenApi Maven プラグインの目的は、Maven から REST DSL RouteBuilder 実装ソースコードを生成するために使用されます。

1.8.3. オプション

プラグインは、コマンドラインから設定するか (-D 構文を使用)、configuration タグの pom.xml ファイルに定義できる次のオプションをサポートします。

Expand
パラメーターデフォルト値説明

skip

false

コード生成をスキップするには、true に設定します。

filterOperation

 

指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、find* を使用して、find で始まるすべての操作を含めることができます。

specificationUri

src/spec/openapi.json

OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の src/spec/openapi.json です。JSON と YAML をサポートします。

auth

 

OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。

className

title または RestDslRoute から

生成されたクラスの名前。OpenApi 仕様のタイトルから取得されるか、デフォルトで RestDslRoute に設定されます。

packageName

host または rest.dsl.generatedから

生成されたクラスのパッケージの名前。OpenApi 仕様のホスト値またはデフォルトで rest.dsl.generated から取得されます。

indent

" "

使用するインデント文字 (デフォルトでは 4 つのスペース)、\t を使用してタブ文字を表すことができます。

outputDirectory

generated-sources/restdsl-openapi

生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の generated-sources/restdsl-openapi

destinationGenerator

 

宛先エンドポイントをカスタマイズするための org.apache.camel.generator.openapi.DestinationGenerator インターフェイスを実装するクラスの完全修飾クラス名

destinationToSyntax

direct:${operationId}

to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。

restConfiguration

true

検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。

apiContextPath

 

restConfiguration が true に設定されている場合は、openapi エンドポイントパスを定義します。

clientRequestValidation

false

リクエストの検証を有効にするかどうか。

basePath

 

OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。

requestMappingValues

/**

カスタム RequestMapping マッピング値の生成を許可します。複数のマッピング値は次のように渡すことができます。

<requestMappingValues> <param>/my-api-path/</param> <param>/my-other-path/</param> </requestMappingValues>

1.8.4. サーブレットコンポーネントを含む Spring Boot プロジェクト

Maven プロジェクトが Spring Boot プロジェクトであり、restConfiguration が有効で、サーブレットコンポーネントが REST コンポーネントとして使用されている場合、このプラグインは @SpringBootApplication メインクラスが配置されているパッケージ名 (packageName が明示的に設定されていない場合) を自動検出します。そして、Rest DSL ソースコードと必要な CamelRestController サポートクラスの生成に同じパッケージ名を使用します。

1.8.5. 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>
Copy to Clipboard Toggle word wrap

1.8.6. オプション

プラグインは次の 追加 オプションをサポートしています。

Expand
パラメーターデフォルト値説明

swaggerCodegenMavenPluginVersion

3.0.36

使用する io.swagger.codegen.v3:swagger-codegen-maven-plugin Maven プラグインのバージョン。

modelOutput

 

ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi)

modelPackage

io.swagger.client.model

生成されたモデルオブジェクト/クラスに使用するパッケージ

modelNamePrefix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelNameSuffix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelWithXml

false

生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。

configOptions

 

言語固有のパラメーターのマップを swagger-codegen-maven-plugin に渡します。

1.8.7. camel-restdsl-openapi:generate-xml

Camel REST DSL OpenApi Maven プラグインの camel-restdsl-openapi:generate-xml ゴールは、Maven から REST DSL XML 実装ソースコードを生成するために使用されます。

1.8.8. オプション

プラグインは、コマンドラインから設定するか (-D 構文を使用)、<configuration> タグの pom.xml ファイルに定義できる次のオプションをサポートします。

Expand
パラメーターデフォルト値説明

skip

false

コード生成をスキップするには、true に設定します。

filterOperation

 

指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、find* を使用して、find で始まるすべての操作を含めることができます。

specificationUri

src/spec/openapi.json

OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の src/spec/openapi.json です。JSON と YAML をサポートします。

auth

 

OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。

outputDirectory

generated-sources/restdsl-openapi

生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の generated-sources/restdsl-openapi

fileName

camel-rest.xml

出力としての XML ファイルの名前。

blueprint

false

有効にすると、Spring XML の代わりに OSGi Blueprint XML が生成されます。

destinationGenerator

 

宛先エンドポイントをカスタマイズするための org.apache.camel.generator.openapi.DestinationGenerator インターフェイスを実装するクラスの完全修飾クラス名

destinationToSyntax

direct:${operationId}

to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。

 

restConfiguration

true

検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。

apiContextPath

 

restConfigurationtrue に設定されている場合は、openapi エンドポイントパスを定義します。

clientRequestValidation

false

リクエストの検証を有効にするかどうか。

basePath

 

OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。

requestMappingValues

/**

1.8.9. 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>
Copy to Clipboard Toggle word wrap

1.8.10. オプション

プラグインは次の 追加 オプションをサポートしています。

Expand
パラメーターデフォルト値説明

swaggerCodegenMavenPluginVersion

3.0.36

使用する io.swagger.codegen.v3:swagger-codegen-maven-plugin Maven プラグインのバージョン。

modelOutput

 

ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi)

modelPackage

io.swagger.client.model

生成されたモデルオブジェクト/クラスに使用するパッケージ

modelNamePrefix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelNameSuffix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelWithXml

false

生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。

configOptions

 

言語固有のパラメーターのマップを swagger-codegen-maven-plugin に渡します。

1.8.11. camel-restdsl-openapi:generate-yaml

Camel REST DSL OpenApi Maven プラグインの camel-restdsl-openapi:generate-yaml ゴールは、Maven から REST DSL YAML 実装ソースコードを生成するために使用されます。

1.8.12. オプション

プラグインは、コマンドラインから設定するか (-D 構文を使用)、<configuration> タグの pom.xml ファイルに定義できる次のオプションをサポートします。

Expand
パラメーターデフォルト値説明

skip

false

コード生成をスキップするには、true に設定します。

filterOperation

 

指定された操作 ID のみを含めるために使用されます。複数の ID はコンマで区切ることができます。ワイルドカードを使用できます。たとえば、find* を使用して、find で始まるすべての操作を含めることができます。

specificationUri

src/spec/openapi.json

OpenApi 仕様の URI は、ファイルシステムパス、HTTP およびクラスパスリソースをサポートします。デフォルトでは、プロジェクトディレクトリー内の src/spec/openapi.json です。JSON と YAML をサポートします。

auth

 

OpenApi 仕様定義をリモートで取得するときに認証ヘッダーを追加します。複数の値をコンマで区切って、name:header の URL エンコード文字列を渡します。

outputDirectory

generated-sources/restdsl-openapi

生成されたソースファイルを配置する場所。デフォルトでは、プロジェクトディレクトリー内の generated-sources/restdsl-openapi

fileName

camel-rest.xml

出力としての XML ファイルの名前。

destinationGenerator

 

宛先エンドポイントをカスタマイズするための org.apache.camel.generator.openapi.DestinationGenerator インターフェイスを実装するクラスの完全修飾クラス名

destinationToSyntax

direct:${operationId}

to uri のデフォルトの to 構文では、direct コンポーネントが使用されます。

 

restConfiguration

true

検出された残りコンポーネントを使用した残り設定の生成を含めるかどうか。

apiContextPath

 

restConfigurationtrue に設定されている場合は、openapi エンドポイントパスを定義します。

clientRequestValidation

false

リクエストの検証を有効にするかどうか。

basePath

 

OpenAPI 仕様で定義されている API ベースパスをオーバーライドします。

requestMappingValues

/**

1.8.13. 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>
Copy to Clipboard Toggle word wrap

1.8.14. オプション

プラグインは次の 追加 オプションをサポートしています。

Expand
パラメーターデフォルト値説明

swaggerCodegenMavenPluginVersion

3.0.36

使用する io.swagger.codegen.v3:swagger-codegen-maven-plugin Maven プラグインのバージョン。

modelOutput

 

ターゲット出力パス (デフォルトは ${project.build.directory}/generated-sources/openapi)

modelPackage

io.swagger.client.model

生成されたモデルオブジェクト/クラスに使用するパッケージ

modelNamePrefix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelNameSuffix

 

モデルクラスと列挙型の接頭辞または接尾辞を設定します。

modelWithXml

false

生成されたモデル内で XML アノテーションを有効にします (JSON および XML のサポートを提供するライブラリーのみで機能)。

configOptions

 

言語固有のパラメーターのマップを swagger-codegen-maven-plugin に渡します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat