JAX-RS
JAX-RS: Java API for RESTful Web Services是一個Java編程語言的應用程序接口,支持按照 表象化狀態(tài)轉變 (REST)架構風格創(chuàng)建Web服務寨典。JAX-RS使用了 ++Java SE 5++ 引入的Java 標注來簡化Web服務客戶端和服務端的開發(fā)和部署偶翅。
規(guī)范內容
JAX-RS提供了一些標注將一個資源類,一個POJOJava類乘盖,封裝為Web資源。標注包括:
- @Path胧弛,標注資源類或方法的相對路徑
- @GET搪泳,@PUT嗦篱,@POST,@DELETE纹腌,標注方法是用的HTTP請求的類型
- @Produces霎终,標注返回的MIME媒體類型
- @Consumes,標注可接受請求的MIME媒體類型
- @PathParam升薯,@QueryParam莱褒,@HeaderParam,@CookieParam涎劈,@MatrixParam广凸,@FormParam,分別標注方法的參數(shù)來自于HTTP請求的不同位置,例如@PathParam來自于URL的路徑蛛枚,@QueryParam來自于URL的查詢參數(shù)谅海,@HeaderParam來自于HTTP請求的頭信息,@CookieParam來自于HTTP請求的Cookie蹦浦。
JAX-RS的實現(xiàn)
- Apache CXF扭吁,開源的Web服務框架。
- Jersey, 由Sun提供的JAX-RS的參考實現(xiàn)智末。
- RESTEasy谅摄,JBoss的實現(xiàn)。
- Restlet系馆,由Jerome Louvel和Dave Pawson開發(fā)送漠,是最早的REST框架,先于JAX-RS出現(xiàn)由蘑。
- Apache Wink闽寡,一個Apache軟件基金會孵化器中的項目,其服務模塊實現(xiàn)JAX-RS規(guī)范
說明
Java EE 6 引入了對 JSR-311 的支持尼酿。JSR-311(JAX-RS:Java API for RESTful Web Services)旨在定義一個統(tǒng)一的規(guī)范爷狈,使得 Java 程序員可以使用一套固定的接口來開發(fā) REST 應用,避免了依賴于第三方框架裳擎。同時涎永,JAX-RS 使用 POJO 編程模型和基于標注的配置,并集成了 JAXB鹿响,從而可以有效縮短 REST 應用的開發(fā)周期羡微。
JAX-RS 定義的 API 位于 javax.ws.rs 包中。
JAX-RS 的具體實現(xiàn)由第三方提供惶我,例如 Sun 的參考實現(xiàn) Jersey妈倔、Apache 的 CXF 以及 JBoss 的 RESTEasy。