细品REST服务集成,JAX-RS提供REST服务
JAX-RS提供REST服务
如果你更喜欢JAX-RS为REST端点提供的编程模型,你可以使用相应 的 实 现 代 替 Spring MVC 框 架 。Spring Boot 支 持 Jersey1.x 和Jersey2.x,我们这里只介绍Spring Boot对Jersey2.x的支持。
首先,引入Spring Boot针对Jersey的starter包:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jersey</artifactId></dependency>
创建一个ResourceConfig类型的@Bean组件,用于注册所有的端点( Endpoint ) , 可 以 注 册 任 意 数 量 的 , 然 后 实 现ResourceConfigCustomizer的Bean来进一步自定义端点功能。
@Componentpublic class JerseyConfig extends ResourceConfig {public JerseyConfig() {
register(Endpoint.class);
}
}
注 册 的 所 有 端 点 都 需 要 注 解 @Components 和 HTTP 资 源Annotations(比如@GET):
@Component@Path( "/hello")public class Endpoint {@GETpublic String message() {return "Hello";
}
}
Endpoint是一个Spring组件(@Component),它的生命周期受Spring容器管理,你可以使用@Autowired添加依赖,也可以使用@Value注入外部配置。Jersey的Servlet会被注册,并默认映射到/*,你可以将@ApplicationPath添加到ResourceConfig来改变该映射。默认 情 况 下 , Jersey 将 以 Servlet 的 形 式 注 册 为 一 个ServletRegistrationBean类型的@Bean。通过创建相同Name的Bean组件 , 可 以 禁 用 或 覆 盖 框 架 默 认 产 生 的 Bean 。设 置spring.jersey.type=filter可以使用Filter的形式代替Servlet,相应 的 @Bean 类 型 变 为 jerseyFilterRegistration , 该 Filter 有 一 个@Order属性,你可以通过 spring.jersey.filter.order设置。注册Servlet和Filter时都可以使用spring.jersey.init.*定义一个属性集合并传递给init参数。
本文给大家讲解的内容是REST服务集成,JAX-RS提供REST服务
- 下篇文章给大家讲解的内容是REST服务集成,Feign实现REST调用
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。
相关文章
- 万物皆可集成系列:低代码释放用友深度价值(1)—系统对接集成
- 企业服务快速集成的六大关键要素
- vue集成海康h5player实现播放
- 集成多种YOLO改进点,面向小白科研的YOLO检测代码库YOLOAir
- Jenkins+Docker+SpringCloud微服务持续集成(上)
- 「使用 webpack 5 从0到1搭建React+TypeScript 项目环境」2. 集成 css、less 与 sass
- 使用OpenAI最新接口,集成ChatGPT至公众号或各种应用
- Hive和Hbase集成及互相操作
- ZooKeeper分布式协调服务(节点分类、事件监听、java集成)
- Sa-Token实现分布式登录鉴权(Redis集成 前后端分离)
- php更换wordpress用户头像,将用户本地上传头像功能集成到WordPress主题中
- Bus集成webhooks实现自动刷新
- 非java异构服务如何集成到SpringCLoud集群中
- 微服务架构与 gRPC 和 REST 的集成挑战
- Spring Boot集成Disruptor
- 集成GPT-4的编程神器来了,GitHub发布Copilot X:编程30年,突然就不需要手敲代码了?!
- IntelliJ IDEA 2023 for Mac 完美兼容版:最智能的 Java 集成开发环境
- 集成Eureka与其他Spring Cloud组件
- Consul与微服务的集成
- 数据库开发知识:SpringBoot 怎么集成MongoDB实现文件上传功能
- 开发环境Linux下的集成开发环境发挥潜力(linux集成)
- 成服务使用Oracle语言集成服务管理企业信息(oracle语言集)
- Panos Panay预告Windows 11与Spotify流媒体音乐服务的新集成
- 微服务集成测试自动化探索
- Linux和Cygwin:两种集成Unix环境的选择(linuxcygwin)
- Oracle 数据流轻松集成 Kafka 服务:提高数据传输效率(oracle到kafka)
- 微服务实现基于Redis的集成(微服务集成redis)
- MySQL与CAS 5x集成获取更优服务(cas5.x mysql)
- 解析Redis集成科学奥义(redis集成是什么意思)
- Oracle ODI服务简单高效的数据集成管理(oracle odi服务)