第 277 章 选项

REST OpenApi 组件支持 10 个选项,它们如下所列。

名称描述默认类型

basePath (producer)

API basePath,如 /v2。默认为 unset,如果设置会覆盖 OpenApi 规格中存在的值。

 

字符串

componentName (producer)

将执行请求的 Camel 组件的名称。组件必须存在于 Camel 注册表中,并且必须实施 RestProducerFactory 服务提供商接口。如果没有设置 CLASSPATH,则会搜索实现 RestProducerFactory SPI 的单个组件。可以在端点配置中覆盖。

 

字符串

consumes (producer)

此组件可以消耗的有效负载类型。根据 RFC7231,可以是 type,如 application/json 或多个类型作为 application/json、application/xml; q=0.5。这等同于 Accept HTTP 标头的值。如果设置覆盖 OpenApi 规格中找到的任何值。可以在端点配置中覆盖

 

字符串

host (producer)

方案主机名和端口以 https://hostname:port 的形式将 HTTP 请求定向到。可以在端点、组件或在 Camel 上下文中对应的 REST 配置中进行配置。如果您为这个组件指定一个名称(如 petstore),则首先会参考 REST 配置、下一个 rest-openapi 下一个和全局配置。如果设置覆盖 OpenApi 规格, RestConfiguration 中的任何值。可以在端点配置中覆盖。

 

字符串

produces (producer)

生成此组件的有效负载类型。例如,根据 RFC7231 的 application/json 示例。这等同于 Content-Type HTTP 标头的值。如果 set 覆盖 OpenApi 规格中存在的任何值。可以在端点配置中覆盖。

 

字符串

specificationUri (producer)

OpenApi 规格文件的路径。这个规格中采用主机基本路径,但可以使用组件或端点级别的属性覆盖它们。如果未指定组件,则组件会尝试加载 openapi.json 资源。请注意,在组件和端点中定义的主机应该包含 URI 语法(例如 https://api.example.com:8080)中的方案、主机名和端口的可选端口。可以在端点配置中覆盖。

openapi.json

URI

sslContextParameters (security)

自定义组件使用的 TLS 参数。如果没有设置,则默认为 Camel 上下文中设定的 TLS 参数

 

SSLContextParameters

useGlobalSslContextParameters (security)

启用使用全局 SSL 上下文参数。

false

布尔值

basicPropertyBinding (advanced)

组件是否应使用基本的属性绑定(Camel 2.x)或较新的属性绑定额外功能

false

布尔值

lazyStartProducer (producer)

制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。

false

布尔值

REST OpenApi 端点使用 URI 语法配置:

rest-openapi:specificationUri#operationId

使用以下路径和查询参数:

277.1. 路径名(2 参数):

名称描述默认类型

specificationUri

OpenApi 规格文件的路径。这个规格中采用主机基本路径,但可以使用组件或端点级别的属性覆盖它们。如果没有给定组件尝试从 classpath 加载 openapi.json 资源。请注意,在组件和端点中定义的主机应该包含 URI 语法(例如 http://api.example.com:8080)中的方案、主机名和端口的可选端口。覆盖组件配置。OpenApi 规格可以通过前缀 file: classpath: http: https 从不同的源加载。对 https 的支持仅限于使用 JDK 安装的 UrlHandler,因此可为 https 设置 TLS/SSL 证书(如设置多个 javax.net.ssl JVM 系统属性)可能比较繁琐。如何参考 JDK 文档获取 UrlHandler。

openapi.json

URI

operationId

OpenApi 规范中操作所需的 ID。

 

字符串