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 规范生成消费者 REST DSL RouteBuilder 源代码,以及通过 swagger-codegen-maven-plugin 生成的 DTO 模型类。
  • camel-restdsl-openapi:generate-xml - 从 OpenApi 规格生成消费者 REST DSL XML 源代码
  • camel-restdsl-openapi:generate-xml-with-dto - 从 OpenApi 规范生成消费者 REST DSL XML 源代码,以及通过 swagger-codegen-maven-plugin 生成的 DTO 模型类。
  • camel-restdsl-openapi:generate-yaml - 要从 OpenApi 规格生成消费者 REST DSL YAML 源代码
  • camel-restdsl-openapi:generate-yaml-with-dto - 从 OpenApi 规范生成消费者 REST DSL YAML 源代码,以及通过 swagger-codegen-maven-plugin 生成的 DTO 模型类。

1.8.1. 将插件添加到 Maven pom.xml

此插件可以添加到 Maven pom.xml 文件中,方法是将它添加到 plugins 部分,例如在 Spring Boot 应用程序中:

<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 语法)配置以下选项,或者在 配置 标签中的 pom.xml 文件中定义。

Expand
参数默认值描述

skip

false

设置为 true 以跳过代码生成

filterOperation

 

仅用于包括指定的操作 ID。可以使用逗号分隔多个 id。可以使用通配符,例如 find* 以包含以 find 开头的所有操作。

specificationUri

src/spec/openapi.json

OpenApi 规格的 URI 支持文件系统路径(HTTP 和 classpath 资源),默认为项目目录中的 src/spec/openapi.json。支持 JSON 和 YAML。

auth

 

在远程获取 OpenApi 规格定义时添加授权标头。使用以逗号分隔的多个值的 URL 编码字符串 name:header 传递。

className

来自 titleRestDslRoute

生成的类的名称,默认从 OpenApi 规格标题或设置为 RestDslRoute

packageName

hostrest.dsl.generated

生成的类的软件包名称,默认为 OpenApi 规格主机值或 rest.dsl.generated

indent

" "

默认情况下,使用缩进字符(默认为四个空格),您可以使用 \t 表示标签页字符

outputDirectory

generated-sources/restdsl-openapi

将生成的源文件放在项目目录中,默认生成源文件/restdsl-openapi

destinationGenerator

 

实现 org.apache.camel.generator.openapi.DestinationGenerator 接口(用于自定义目标端点)的类的完全限定域名

destinationToSyntax

direct:${operationId}

to uri 的默认语法是使用直接组件。

restConfiguration

true

是否包括要被检测到的其余组件的生成。

apiContextPath

 

如果 restConfiguration 设为 true,则定义 openapi 端点路径。

clientRequestValidation

false

是否启用请求验证。

basePath

 

覆盖 OpenAPI 规格中定义的 api 基础路径。

requestMappingValues

/**

允许生成自定义 RequestMapping 映射值。多个映射值可以传递:

<requestMappingValues> <param>/my-api-path/ </param> <param>/my-other-path/ &lt;/param> </requestMappingValues>

1.8.4. 带有 Servlet 组件的 Spring Boot 项目

如果 Maven 项目是 Spring Boot 项目,并且启用了 restConfiguration,并且 servlet 组件被用作 REST 组件,则此插件将自动检测软件包名称(如果尚未明确配置,则 @SpringBootApplication 主类位于 @SpringBootApplication 主类),并使用相同的软件包名称来生成 Rest DSL 源代码和所需的 CamelRestController 支持类。

1.8.5. camel-restdsl-openapi:generate-with-dto

作为 生成 目标,还可以通过自动执行 swagger-codegen-maven-plugin 来生成 DTO 模型类来生成来自 OpenApi 规范的 DTO 模型类的 java 源代码。

此插件的范围仅限于只支持使用 swagger-codegen-maven-plugin 生成模型 DTOs 的默认值。如果您需要更多电源和灵活性,则直接使用 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

 

为模型类和枚举设置 pre- 或 suffix

modelNameSuffix

 

为模型类和枚举设置 pre- 或 suffix

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 和 classpath 资源),默认为项目目录中的 src/spec/openapi.json。支持 JSON 和 YAML。

auth

 

在远程获取 OpenApi 规格定义时添加授权标头。使用以逗号分隔的多个值的 URL 编码字符串 name:header 传递。

outputDirectory

generated-sources/restdsl-openapi

将生成的源文件放在项目目录中,默认生成源文件/restdsl-openapi

fileName

camel-rest.xml

作为输出的 XML 文件的名称。

蓝图

false

如果启用,则生成 OSGi 蓝图 XML 而不是 Spring XML。

destinationGenerator

 

实现 org.apache.camel.generator.openapi.DestinationGenerator 接口(用于自定义目标端点)的类的完全限定域名

destinationToSyntax

direct:${operationId}

to uri 的默认语法是使用直接组件。

 

restConfiguration

true

是否包括要被检测到的其余组件的生成。

apiContextPath

 

如果 restConfiguration 设为 true,则定义 openapi 端点路径。

clientRequestValidation

false

是否启用请求验证。

basePath

 

覆盖 OpenAPI 规格中定义的 api 基础路径。

requestMappingValues

/**

1.8.9. camel-restdsl-openapi:generate-xml-with-dto

作为 generate-xml 目标,还通过自动执行 swagger-codegen-maven-plugin 生成 DTO 模型类来生成来自 OpenApi 规范的 DTO 模型类的 java 源代码。

此插件的范围仅限于只支持使用 swagger-codegen-maven-plugin 生成模型 DTOs 的默认值。如果您需要更多电源和灵活性,则直接使用 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

 

为模型类和枚举设置 pre- 或 suffix

modelNameSuffix

 

为模型类和枚举设置 pre- 或 suffix

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 和 classpath 资源),默认为项目目录中的 src/spec/openapi.json。支持 JSON 和 YAML。

auth

 

在远程获取 OpenApi 规格定义时添加授权标头。使用以逗号分隔的多个值的 URL 编码字符串 name:header 传递。

outputDirectory

generated-sources/restdsl-openapi

将生成的源文件放在项目目录中,默认生成源文件/restdsl-openapi

fileName

camel-rest.xml

作为输出的 XML 文件的名称。

destinationGenerator

 

实现 org.apache.camel.generator.openapi.DestinationGenerator 接口(用于自定义目标端点)的类的完全限定域名

destinationToSyntax

direct:${operationId}

to uri 的默认语法是使用直接组件。

 

restConfiguration

true

是否包括要被检测到的其余组件的生成。

apiContextPath

 

如果 restConfiguration 设为 true,则定义 openapi 端点路径。

clientRequestValidation

false

是否启用请求验证。

basePath

 

覆盖 OpenAPI 规格中定义的 api 基础路径。

requestMappingValues

/**

1.8.13. camel-restdsl-openapi:generate-yaml-with-dto

作为 generate-yaml 目标,还通过自动执行 swagger-codegen-maven-plugin 来生成 DTO 模型类来生成来自 OpenApi 规范的 DTO 模型类的 java 源代码。

此插件的范围仅限于只支持使用 swagger-codegen-maven-plugin 生成模型 DTOs 的默认值。如果您需要更多电源和灵活性,则直接使用 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

 

为模型类和枚举设置 pre- 或 suffix

modelNameSuffix

 

为模型类和枚举设置 pre- 或 suffix

modelWithXml

false

在生成的模型中启用 XML 注解(仅适用于提供对 JSON 和 XML 支持的库)

configOptions

 

将特定语言参数映射传递给 swagger-codegen-maven-plugin

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部