JAX-RS
JAX-RS(Java API for RESTful Web Services)是一個Java編程語言的應用程序接口,支持按照表象化狀態轉變(REST)架構風格創建Web服務[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的實現包括[2]:
- 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以外的附加特性[3]。
注釋
- ^ Hadley, p. 1.
- ^ Mark Little,比較各JAX-RS實現 (頁面存檔備份,存於網際網路檔案館)
- ^ Building RESTful Web Services with JAX-RS and Jersey. [2010-07-07]. (原始內容存檔於2009-06-11).
參考文獻
- 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支持