Java Web 学习笔记之九:利用Jetty+restEasy搭建简单的rest web service
简介
RESTEasy是JBoss的一个开源项目,提供各种框架帮助开发者构建RESTful Web Service和RESTful Java应用。它是JAX-RS规范的一个完整实现并通过JCP认证。
restEasy可以在任何JDK5以上的servlet容器中运行。
步骤
新建maven工程,pom配置文件添加依赖
使用到的依赖有:
- jetty-server
- jetty-webapp
- resteasy-jaxrs
工程根目录添加目录:WebContent/WEB-INF,并在其中添加web.xml配置文件,内容如下
通过配置web.xml就能够将restEasy框架引入web应用中了。
新建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。 |
在web.xml配置文件中将定义的接口引入
编写启动入口main方法
项目目录结构如下图
运行程序,并请求BaseService定义接口的URL,结果如下
说明程序配置成功。
在restEasy转发请求给自定义rest接口配置方式上面,上面讲述了一种方式,即通过web.xml配置文件设置context-param来实现,如下图:
还有另外一种通过程序实现的定义请求转发的方式.
API实现
编写RestApplication实现javax.ws.rs.core.Application
其中定义构造方法,将自定义的rest接口(跟方式一接口定义相同)实例化并添加到sinletons集合中,并重写getSingletons方法。
编写web.xml配置文件
注意要定义好restEasy的servlet的前缀。
其他步骤类似方式一。启动应用,测试接口的URL,结果如下图
说明restEasy配置成功!