SpringBoot学习-支持Jersey

首先,我们简单的了解一下Jersey(其实我也不太懂,百度的)
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。与Struts类似,它同样可以和hibernate,spring框架整合。
由于Struts2+hibernate+spring整合在市场的占有率太高,所以很少一部分人去关注Jersey。所以网上有关于Jersey的介绍很少。但是它确实是一个非常不错的框架。对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URI即可完成操作。
举个简单的例子:如果你想获得服务器数据库中的所有数据;那么你可以在浏览器或者利用Ajax的GET方法,将路径设置好;例如:localhost:8080/Student(项目名称)/studentinfo(项目服务总体前缀)/student(处理student对象的签注)/getStudentInfo(最后前缀)。这样就可以获取所有学生信息。你可以选择GET获取的数据的返回类型:JSON,XML,TEXT_HTML(String)..获取之后,你可以通过JS将这些数据塞到html或者jsp页面上。

这里写图片描述

上面是纯粹的百度百科资料,有想详细了解使用jersey的优点的可以搜搜看,下面是配置过程:

首先当然是maven引入jar包

<!-- jersey -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>

然后是配置类-JerseyConfig

import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.RequestContextFilter;

@Configuration
public class JerseyConfig extends ResourceConfig{
    public JerseyConfig(){
        //两种注册方式都可以
        packages("com.zng");//注册包路径
        register(RequestContextFilter.class);//注册类
    }
}

然后是引用方式:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/rest")
public class PathResource {
    @GET
    @Path("say")
    @Produces(MediaType.APPLICATION_JSON)
    public String test(){
        return "Say Hello";
    }
}

具体注解含义可以对照上面的表格看看

这样基本上就可以了,浏览器输入相应路径就可以访问了

这里写图片描述

有一点比较坑的就是:
集成了Jersey之后,原有的通过@Controller来进行的访问控制就无法使用了,两者好像无法共存,我试了很多方法,想要实现通过不同的拦截url来区别达到共存的状态,结果都失败了,jersey在springboot的配置文件中可以设置一些参数,不清楚有什么作用,没有继续尝试,后续有时间再玩玩吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值