RESTEasy是JBoss的一個開源項目,提供各種框架幫助開發者構建RESTful Web Service和RESTful Java應用。它是JAX-RS規範的一個完整實現並通過JCP認證。
restEasy可以在任何JDK5以上的servlet容器中運行。
下面介紹Jetty和restEasy整合搭建RESTful web service的方式
(1)新建maven工程,pom配置文件添加依賴,如下圖:
使用到的依賴有:
jetty-server
jetty-webapp
resteasy-jaxrs
(2)工程根目錄添加目錄:WebContent/WEB-INF,並在其中添加web.xml配置文件,內容如下圖:
通過配置web.xml就能夠將restEasy框架引入web應用中了。
(3)新建rest接口類BaseService,如下圖:
接口中的註解是JAX-RS規範定義的,JAX-RS是JAVA EE6 引入的一個新技術。 JAX-RS即Java API for RESTful Web Services,是一個Java編程語言的應用程序接口,支持按照表述性狀態轉移(REST)架構風格創建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。
(4)在web.xml配置文件中將定義的接口引入,如下圖:
(5)編寫啓動入口main方法,如下圖:
(6)項目目錄結構如下圖:
運行程序,並請求BaseService定義接口的URL,結果如下:
說明程序配置成功。
在restEasy轉發請求給自定義rest接口配置方式上面,上面講述了一種方式,即通過web.xml配置文件設置context-param來實現,如下圖:
還有另外一種通過程序實現的定義請求轉發的方式,具體步驟如下:
(1)編寫RestApplication實現javax.ws.rs.core.Application,如下圖:
其中定義構造方法,將自定義的rest接口(跟方式一接口定義相同)實例化並添加到sinletons集合中,並重寫getSingletons方法。
(2)編寫web.xml配置文件,如下圖:
注意要定義好restEasy的servlet的前綴。
其他步驟類似方式一。啓動應用,測試接口的URL,結果如下圖:
說明restEasy配置成功!
附上工程源碼鏈接: