第 280 章 REST Swagger 组件
作为 Camel 版本 2.19 可用
rest-swagger 配置 Swagger (Open API)规范文档中的其他制作者,并委派给实施 RestProducerFactory 接口的组件。当前已知的组件是:
Maven 用户需要将以下依赖项添加到其 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-rest-swagger</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
280.1. URI 格式
rest-swagger:[specificationPath#]operationId
其中 operationId
是 Swagger 规格中的操作 ID,并且 specificationPath
是规格的路径。如果没有指定 specificationPath
,则默认为 swagger.json
。查找机制使用 Camels ResourceHelper
来加载资源,这意味着您可以使用 CLASSPATH 资源(classpath:my-specification.json
)、文件(/some/path.json
)、Web (http://api.example.com/swagger.json
)或引用 bean (ref:nameOfBean
)或使用 abean (an:name:OfBean)的方法。
如果 Swagger 自己的资源加载支持失败。
此组件不充当 HTTP 客户端,它将委托给上述其他组件。查找机制会搜索实现 RestProducerFactory 接口并使用该界面的单个组件。如果 CLASSPATH包含多个,则应该设置属性 componentName
来指明要委托哪个组件。
大多数配置从 Swagger 规格中获取,但该选项存在,可以通过在组件或端点中指定它们来覆盖它们。通常,如果与规格不同,您只需覆盖 主机或
basePath
。
host
参数应包含包括方案、主机名和端口号的绝对 URI,例如 :https://api.example.com
使用 componentName
指定用于执行请求的组件,这需要在 Camel 上下文中显示此指定组件,并实施所需的 RestProducerFactory interface©-OPTSas 执行顶部列出的组件。
如果您没有在组件或端点级别上指定 componentName,则会搜索 CLASSPATH 以获取合适的委派。CLASSPATH 中应只有一个组件,它实施 RestProducerFactory 接口才能正常工作。
此组件的端点 URI 是很方便的,这意味着除了消息标头外,除了消息标头外,您还可以将 REST 操作的参数指定为端点参数,这样这样才能对后续调用(如 /api/7.8/users/{id}
)进行持续使用这个功能。