Camel - Rest Component 集成 Swagger UI

2024-04-25 18:32

本文主要是介绍Camel - Rest Component 集成 Swagger UI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Camel - Rest Component 集成 Swagger UI

  • 1. Spring boot 集成 Swagger UI
    • 1.1 pom配置
    • 1.2 访问swagger ui
  • 2. Camel配置并启用Rest服务
    • 2.1 pom配置
    • 2.2 配置并启动jetty服务
    • 2.3 启动并获取swagger api信息
  • 3. 测试
  • 参考

1. Spring boot 集成 Swagger UI

1.1 pom配置

本示例通过webjar的方式集成swagger UI。
swagger-ui版本为2.2.10.

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.5.RELEASE</version>
</dependency>
<dependency><groupId>org.webjars</groupId><artifactId>swagger-ui</artifactId><version>2.2.10</version>
</dependency>
<dependency><groupId>org.webjars</groupId><artifactId>webjars-locator</artifactId><version>0.40</version>
</dependency>

配置spring boot 默认启动 tomcat 服务器,启动端口配置为 8088

server.port=8088

1.2 访问swagger ui

http://localhost:8088/webjars/swagger-ui/index.html#/
在这里插入图片描述

2. Camel配置并启用Rest服务

2.1 pom配置

<!-- camel -->
<dependency><groupId>org.apache.camel.springboot</groupId><artifactId>camel-spring-boot-starter</artifactId><version>3.6.0</version>
</dependency>
<dependency><groupId>org.apache.camel.springboot</groupId><artifactId>camel-jetty-starter</artifactId><version>3.6.0</version>
</dependency>
<dependency><groupId>org.apache.camel</groupId><artifactId>camel-swagger-java</artifactId><version>3.6.0</version>
</dependency>

2.2 配置并启动jetty服务

配置jetty服务,端口为8080,同时支持 swagger api 服务。
代码参考 https://github.com/ttyy1112/Camel-In-Action-3.3.0/tree/master/spring-app/rest-camel-springboot-test

public class OrderRoute extends RouteBuilder {@Overridepublic void configure() throws Exception {restConfiguration().component("jetty").port(8080)//Enable swagger endpoint..apiContextPath("/swagger") //swagger endpoint path.apiContextRouteId("swagger") //id of route providing the swagger endpoint//Swagger properties.contextPath("/api") //base.path swagger property; use the mapping path set for CamelServlet.apiProperty("api.title", "Swagger UI with Apache Camel-Jetty").apiProperty("api.version", "1.0").apiProperty("api.contact.name", "ATang").apiProperty("api.contact.email", "ATang@atang.com").apiProperty("api.contact.url", "https://atang.com/").apiProperty("host", "") //by default 0.0.0.0.apiProperty("port", "8080").apiProperty("schemes", "").apiProperty("cors", "true");// rest services under the orders context-pathrest("/orders")// need to specify the POJO types the binding is using (otherwise json binding defaults to Map based).get("{id}").outType(Order.class).to("bean:orderService?method=getOrder(${header.id})")// need to specify the POJO types the binding is using (otherwise json binding defaults to Map based).post().type(Order.class).to("bean:orderService?method=createOrder")// need to specify the POJO types the binding is using (otherwise json binding defaults to Map based).put().type(Order.class).to("bean:orderService?method=updateOrder").delete("{id}").to("bean:orderService?method=cancelOrder(${header.id})");}
}

2.3 启动并获取swagger api信息

通过访问 http://localhost:8080/api/swagger ,可以获取swagger api信息。
在这里插入图片描述

3. 测试

在这里插入图片描述

参考

Integrate Swagger with Apache Camel-Servlet.
Spring Boot, Apache Camel, and Swagger UI
SWAGGER JAVA
集成Open API
Swagger技术(接口文档实时动态生成工具)

这篇关于Camel - Rest Component 集成 Swagger UI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935463

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins