请先看汇总篇「Web Service入门及实践」,学习前面的基础知识和例子再来看这篇!
Jersey是一种JAX-RS的参考实现。所以它符合JAX-RS的风格,即也是使用ava注解的方式来简化Web服务客户端和服务端的开发和部署。常用的注解整理如下:
HTTP方法
七个HTTP方法有GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
,分别代表了不同的含义。常用的@GET、@POST、@PUT、@DELETE以及@HEAD均是HTTP请求方法指示符注释。
@GET
含义:读取/列出/检索单个或资源集合。
@POST
含义:新建资源。
@PUT
含义:更新现有资源或资源集合。
@DELETE
含义:删除资源或资源集合。
@Produces
@Produces
含义:@Produces注释用来指定将要返回给client端的数据标识类型(MIME)。@Produces可以作为class注释,也可以作为方法注释,方法的@Produces注释将会覆盖class的注释。
@Consumes
@Consumes
含义:@Consumes与@Produces相反,用来指定可以接受client发送过来的MIME类型,同样可以用于class或者method,也可以指定多个MIME类型,一般用于@PUT,@POST。
@Path
@Path
含义:uri路径;定义资源的访问路径,client通过这个路径访问资源,比如:@Path(“user”)。
请求参数注解
@PathParam
含义:uri路径参数;写在方法的参数中,获取url中指定参数名称,如:public User getUser(@PathParam(“username”) String userName)。
@QueryParam
含义:获取get请求中的查询参数,如:public User getUser(@QueryParam(“name”) String name, @QueryParam(“age”) int age)。
@DefaultValue
含义:设置@QueryParam参数的默认值,如果@QueryParam没有接收到值,就使用默认值,如:public User getUser(@QueryParam(“name”) String name, @DefaultValue(“26”) @QueryParam(“age”) int age)。
@FormParam
含义:获取post请求中表单中的数据,如:public void post(@FormParam(“name”) String name)。
@BeanParam
含义:获取请求参数中的数据,用实体Bean进行封装,如:public void update(@BeanParam User user)。
@Context
含义:获得一些系统环境信息,通过@Context可以获得以下信息:UriInfo、ServletConfig、ServletContext、HttpServletRequest、HttpServletResponse和HttpHeaders等。
@XmlRootElement
含义:将bean转换为xml,用在实体类中,如果要将bean以xml或json的格式返回,必须要这个注解。比如:
@XmlRootElement
public class User{
...
}
@XmlElements
含义:
@XmlElement
含义:
参考文章: