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配置成功!
附上工程源码链接: