@GET:该注解标记的方法代表用于处理GET请求,GET方法是幂等且安全的。java
@POST:该注解标记的方法代表处理POST请求,POST方法代表是一种建立操做的方法,POST方法是一种写操做的HTTP请求,RPC中的写操做均是使用post方法,而在REST中咱们只是使用POST方法来添加资源。spring
@DELETE:该注解标记的方法代表这个方法执行的是一个删除资源的操做,其返回值能够是void,即没有返回值。json
@Consumes:在服务器端,@Consumes(MediaType.APPLICATION_XML)定义了服务器端要消费的媒体类型,也就是说消费客户端请求实体的媒体类型,能够是xml、json等类型。数组
@Produces:@Consumes(MediaType.APPLICATION_XML)定义了服务器端生产的媒体类型,即服务器端产生的响应实体的媒体类型,一样也能够是xml、json等媒体类型。安全
@Path:该注解能够标记在类名之上,也能够标记在方法名上。该注解接收一个value参数,表示定义资源的地址。另外,资源地址相同,可是HTTP方法不一样的两个方法是彻底两个不一样的REST接口,HTTP方法和资源地址相结合在一块儿才能够完成对一个资源的定位。服务器
package com.zte.ems.resource; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Context; import org.springframework.stereotype.Component; @Component @Path("/weclome") public class JerseyResource { @GET @Path("/wrong") public void getPage(@Context HttpServletRequest request) { System.out.println("这是一个get方法!"); } @POST @Path("/wrong") public void postPage(@Context HttpServletRequest request) { System.out.println("这是一个post方法!"); } }
以上面这个类为例,虽然@Path的组合是"/weclome/wrong",可是因为HTTP方法不一样,所以,执行的方法体也是不一样的。post
@QueryParam:该注解代表是一个查询条件,查询条件决定了方法的做用域,查询参数组成了查询条件。Jersey中使用@QueryParam注解来定义查询参数。另外注解@QueryParam还能够和注解@DefaultVaule一块儿使用,注解@DefaultValue的做用则是预置一个默认值,当请求中不包括该参数时候使用这个默认值。spa
@PathParam:该注解定义路径的参数信息,每个参数都对应一个子资源。code
@FormParam:该注解表示用来定义表单的参数。orm
@Context:该注解用来解析上下文参数。(@Context HttpRequest request)