如果没有好的工具包,开发RESTful Web Service并不是一项简单的任务,这个过程需要无缝支持各种形式的媒体数据、公开数据接口、抽象客户端和服务端通讯的底层细节等等。在Java里,为了简化RESTful Web Service及客户端开发,一种标准简单的JAX-RS API横空出世。Jersey RESTful Web Service是一个开源产品级框架,它支持JAX-RS API并且实现了JAX-RS (JSR 311 & JSR 339) 规范。
Jersey框架不仅实现了JAX-RS规范,还提拱了自有API以扩展JAX-RS,提供了更多的特性和工具进一步简化RESTful Web Service及其客户端开发。Jersey也暴露许多可扩展SPI以便开发者可以根据其需要开发出最合适的RESTful Web Service及客户端。
目前Jersey最新的稳定版本是2.22.1。
一个典型的Jersey RESTful Web Services就是一个简单的java类+Jersey提供的注解,例如:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
/**
* Root resource (exposed at "myresource" path)
*/
@Path("myresource")
public class MyResource {
/**
* Method handling HTTP GET requests. The returned object will be sent
* to the client as "text/plain" media type.
*
* @return String that will be returned as a text/plain response.
*/
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getIt() {
return "Got it!";
}
}
@Path(“myresource”)表示MyResource类处理路径为/myresource的请求,@GET表示请求是GET请求,@Produces(MediaType.TEXT_PLAIN)表示服务返回的数据类型是简单文本类型。
更多的学习内容可以参考Jersey官网的新手指南。
开发资源
官方网站:jersey.java.net/
开源地址:github.com/jersey