什么是 RESTEasy
RESTEasy 是 JBoss 的一個開源項目,提供各種框架幫助你構建 RESTful Web Services 和 RESTful Java 應用程序。它是 JAX-RS 規范的一個完整實現並通過 JCP 認證。作為一個 JBOSS 的項目,它當然能和 JBOSS 應用服務器很好地集成在一起。 但是,它也能在任何運行 JDK5 或以上版本的 Servlet 容器中運行。RESTEasy 還提供一個 RESTEasy JAX-RS 客戶端調用框架,能夠很方便與 EJB、Seam、Guice、Spring 和 Spring MVC 集成使用,支持在客戶端與服務器端自動實現 GZIP 解壓縮。
官方網站:http://resteasy.jboss.org/
pom依賴如下
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>3.0.9.Final</version>
</dependency>
web.xml配置
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>com.rest.controller.Library</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Controller部分
package com.rest.controller;
import javax.ws.rs.*;
/**
* Created by shangyidong on 16/9/25.
*/
@Path("/library")
public class Library {
@GET
@Path("/books")
public String getBooks() {
return "get books finished";
}
@GET
@Path("/book/{isbn}")
public String getBook(@PathParam("isbn") String isbn) {
// search my database and get a string representation and return it
return "test-isbn:" + isbn;
}
@PUT
@Path("/book/{isbn}")
public String addBook(@PathParam("isbn") String id, @QueryParam("name") String name) {
return "add book success, id =" + id + ",name=" + name;
}
@DELETE
@Path("/book/{id}")
public void removeBook(@PathParam("id") String id ){
}
}
啟動tomcat,即可通過對應的url訪問到web資源
dubbox的rest服務是基於非常成熟的JBoss RestEasy框架實現的。
參考 http://blog.javachen.com/2015/03/10/quick-start-of-resteasy.html