JAX-RS

JAX-RS（Java API for RESTful Web Services）是一个Java编程语言的应用程序接口，支持按照表象化状态转变（REST）架构风格创建Web服务Hadley, p. 1.。JAX-RS使用了Java SE 5引入的Java 标注来简化Web服务客户端和服务端的开发和部署。

规范内容
JAX-RS提供了一些标注将一个资源类，一个POJOJava类，封装为Web资源。标注包括：
@Path，标注资源类或方法的相对路径
@GET，@PUT，@POST，@DELETE，标注方法是用的HTTP请求的类型
@Produces，标注返回的MIME媒体类型
@Consumes，标注可接受请求的MIME媒体类型
@PathParam，@QueryParam，@HeaderParam，@CookieParam，@MatrixParam，@FormParam,分别标注方法的参数来自于HTTP请求的不同位置，例如@PathParam来自于URL的路径，@QueryParam来自于URL的查询参数，@HeaderParam来自于HTTP请求的头信息，@CookieParam来自于HTTP请求的Cookie。

JAX-RS的实现
JAX-RS的实现包括Mark Little，比较各JAX-RS实现 ：
 Apache CXF，开源的Web服务框架。
 Jersey， 由Sun提供的JAX-RS的参考实现。
 RESTEasy，JBoss的实现。
 Restlet，由Jerome Louvel和Dave Pawson开发，是最早的REST框架，先于JAX-RS出现。
 Apache Wink，一个Apache软件基金会孵化器中的项目，其服务模块实现JAX-RS规范
Jersey
根据 Java EE 6 教程第1卷：Jersey是由Sun开发的产品级质量的JSR 311: JAX-RS: The Java API for RESTful Web Services的参考实现。Jersey实现了JSR-311中对标注的支持，这使得开发人员使用Java开发RESTfulWeb服务更加容易。除此以外，Jersey还增加了JSR以外的附加特性。

注释

参考文献
 Hadley, Marc and Paul Sandoz, eds. (September 17, 2009). JAX-RS: Java API for RESTful WebServices  (version 1.1), Sun Microsystems, Inc.

外部链接
 JAX-RS规范 
 Jersey - 开源JAX-RS参考实现
 JSR 311项目
 RESTful Java with JAX-RS'' by Bill Burke on Google Books
 使用 JAX-RS 简化 REST 应用开发 
 用 Java 技术创建 RESTful Web 服务--JAX-RS：一种更为简单、可移植性更好的替代方式 
 Java EE 6 Web Services：JAX-RS 1.1提供了基于注解的REST支持

参见

分类:Java
分类:应用程序接口