什么是 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