第 277 章 URI 格式
rest-openapi:[specificationPath#]operationId
rest-openapi:[specificationPath#]operationId
其中 operationId 是 OpenApi 规格中操作的 ID,specificationPath 是规格的路径。如果没有指定 specificationPath,则默认为 openapi.json。lookup 机制使用 Camels ResourceHelper 加载资源,这意味着您可以使用 CLASSPATH 资源(classpath:my-specification.json)、文件(file:/some/path.json)、Web (http://api.example.com/openapi.json)或引用 bean (ref:nameOfBean),或使用 bean (bean:nameOfBean.methodName)的方法获取规格,该规范失败了 OpenApi 的加载资源。
此组件不充当 HTTP 客户端,它将委托给上述另一个组件。lookup 机制搜索实施 RestProducerFactory 接口并使用的单个组件。如果 CLASSPATH 包含多个,则属性 componentName 应设置为指示要委派的组件。
大多数配置取自 OpenApi 规格,但 选项存在,可以通过在组件或端点上指定它们来覆盖它们。通常,如果它们与规格不同,您只需要覆盖 host 或 basePath。
host 参数应包含包含方案、主机名和端口号的绝对 URI,例如: https://api.example.com
使用 componentName 指定用于执行请求的组件,这个指定组件需要在 Camel 上下文中存在,并实施所需的 RestProducerFactory 接口进行顶部列出的组件。
如果您没有在组件或端点级别指定 componentName,则会搜索 CLASSPATH 以获得合适的委托。在 CLASSPATH 中应该只有一个组件,它实现 RestProducerFactory 接口才能正常工作。
这个组件的端点 URI 被盗,这意味着除了消息标头外,您还可以将 REST 操作的参数指定为端点参数,这些参数将持续进行所有后续调用,因此对于所有调用来说,对于所有调用(如 /api/{version}/users/{id} )的 API 版本也一样。