第 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} )进行持续使用这个功能。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.