如何搭建基于Jesery框架的Restful服务

Jesery框架

Jesery是基于JAX-RS标准参考实现,是Java领域开发REST式的web服务的主流工具。

下载稳定版Jersery发布框架,稳定版为2.22.1

https://jersey.java.net/download.html


Web项目配置

解压jaxrs-ri-2.22.1.zip压缩包,将lib、ext、api三个文件夹里边的jar包拷贝至WEB-INF/lib下面。

在web.xml里添加代码

<servlet>
<servlet-name>REST Service</servlet-name>
<servlet-class>com.dux.util.AppServiceServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.dux.util.RestApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

其中AppServiceServletContainer继承ServletContainer,承担全局请求拦截功能,如果不需要刻意直接配置成

org.glassfish.jersey.servlet.ServletContainer.ServletContainer

RestApplicationjesery提供服务包注册等功能。

示例:

import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
import org.glassfish.jersey.server.ResourceConfig;  

public class RestApplication extends ResourceConfig {  
	
	public RestApplication() {  

		//服务类所在的包路径  
		packages("com.dux.rest.resources");  

		//注册JSON转换器  
		register(JacksonJsonProvider.class);  

	}  
}


Rest接口编写

新建普通java类,放置于com. dux.rest.resources目录下。

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

@Path("user")
public class UserResource {
	
    @GET    
	@Path("/getUserDetail/{param}")    
    @Produces("text/plain;charset=UTF-8")   
	public String insertTeacher(@PathParam("param") String userguid) {  
    	//自定义代码
    	//...
		return "request OK";  
	}
}

该类模拟客户端请求某一用户详细信息,传递参数为userguid


请求url为:http://127.0.0.1:8080/DuxJeseryDemo/rest/user/getUserDetail/youruserguid


PS

文档只是简单说明restful服务搭建,编写简单restful接口

如果需要了解更进一步内容,如文件下载与上传,安全控制等可以参考官方文档

推进一本书《Java RESTful Web Service实战》,里边有详细介绍。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值