REST内容协商注解

@Produces注解:

用于定义方法的响应实体的数据类型。可以定义一个或多个,同时可以为每种类型定义质量因素,质量因素取值范围从0--1的小数值,默认为1.

示例:

@Path("conneg-resource")

public class ConnegResource{

  @GET

  @path("id")

  @Produces(MediaType.APPLICATION_XML) //也可以写为@Produces(MediaType.APPLICATION_JSON)

   public Book getJaxbBook(@PathParam("id") final long bookId){

     return new Book(bookId); 

   }

}

含的质量因素的定义:@Produces({"application/json; qs=.9","application/xml; qs=.5"})

@Consumes注解

用于定义方法的请求实体的数据类型。和@Produces不同的是,@Consumes的数据类型的定义只用于JAX-RS 2.0匹配请求处理的方法,不做内容协商使用。如果匹配不到,那么服务器会返回HTTP状态码415.

原文地址:https://www.cnblogs.com/wangorg/p/4094387.html