Spring Boot与JAX-RS框架Jersey的完美搭配

Spring Boot与JAX-RS框架Jersey的完美搭配,第1张

编辑推荐:

Jeresy是一个轻量级的JAX-RS框架

添加Jeresy 2.x的依赖

build.gradle文件内容:

创建一个 spring boot 项目

在IDE里一路next

Spring Boot启动APP

注册jersey servlet

这和原来在 web.xml 配置的是一样的,设置 Mapping,设置 init 初始化参数,对应的 servlet class name .

所有的rest/*请求都将被 ServletContainer jersey servlet 容器接管.

创建jersey Resources

packages方式是采用扫描包的方式批量毕亮注册

register 是单个注册

创建jersey Controller,使用 JAX-RS 规范的注解进行设置即可

启动哪数穗Spring Boot程序

默认端口号是:8080

在浏览器里测试

输入李卜:http://127.0.0.1:8080/rest//user/123678

返回: {"userName": "mvc.","id": 123678}

@GET

GET请求(读取/列出/检索单个或资源集合。)

@POST

POST请求(新建资源。)

@PUT

PUT请求(更新现有资源或资源集合。)

@DELETE

DELETE请求(删除资源或资源集合。)

用来指定可以接受client发送过来的MIME类型,同样可以用于class或者method,也可以指定多个MIME类型,一般用于@PUT,@POST

用来指定将要返回给client端的数据标识类型(MIME)。@Produces可以作为class注释,也可以作为方法注释,方法的@Produces注释将会覆盖class的注释

用于获取url中直接在斜杠后面添加参数值

用于获取url中在后面添加【键值对】形式的参数

该注解用来解析上下文参数。(@Context HttpRequest request)

客户端以form(MIME为application/x-www-form-urlencoded)的方式提交表单,服务端使用@FormParam解析form表单中的参数

通常在上传文件的时候,需要@FormDataParam。客户端提交form(MIME为multipart/form-data)的方式提交表单,服务端使用

来解析form表单中的参数

获取http请求头中的参数值

获取http请求头中cookie中的参数值

获取请求URL中的参数中的键值对,必须使用“”作为键值对的分隔符,比如/person/1id=1name=bellaage=22。除此之外呢,@MatrixParam可以接受List参数,尤其是在键值对key相同的时候,就会被解析为List

@DefaultValue配合@PathParam、@QueryParam、@FormParam、@FormDataParam、@MatrixParam、@HeaderParam、@CookieParam等氏亮使用,如果请求指定的参数中枣核绝没有值,就使用@DefaultValue中的值为默认值。注意:@DefaultValue指定的值在解析过程中出错(比如@DefaultValue("test") @QueryParam("age") int age),将返回404错误。

如果传递的参数较多,可以自己写个bean,bean中的字段使用@PathParam、@QueryParam、@FormParam、@FormDataParam、@MatrixParam、@HeaderParam、@CookieParam来注解。而在resouces中具体方法参数中就可以使用@BeanParam来注解这个自定义的bean

禁止解码,客户端发送的参数是什么样,服务器接收到的参数就是什么样

@Path有两个作用:

标注class,表明该类是个资源类。凡是资源类,必须使用@Path注解,不然jersey无法扫描到该资源类。

标注method,表示具体的请求资源的路径

这点和Spring的@RequestMapping不同,@RequestMapping只是凳姿简单的注解请求路径而已,@Controller才是表明该类是个action,而@Path一人扮演两个角色


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12253986.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存