@Produces注解
《Java RESTful Web Service实战(第2版)》第2章REST API设计,本章是REST理论和Jersey实践的核心章节,详细讲述了HTTP方法与REST API的统一接口设计、URI的REST风格设计,并逐个讲述了JAX-RS2定义的注解如何支持资源定位,还对Jersey对各种表述类型的支持和实现、Jersey对REST连通性的两种实现、REST资源方法对响应的处理以及Jersey对内容协商的支持和实现进行了讲述。本节为大家介绍@Produces注解。
注解@Produces 用于定义方法的响应实体的数据类型,可以定义一个或多个,同时可以为每种类型定义质量因素(qualityfactor) 。质量因素是取值范围从0到1的小数值。如果不定义质量因素,那么该类型的质量因素默认为1。我们将结合示例深入了解@Produces注解对媒体类型的影响,示例代码如下。
@Path("conneg-resource")
public class ConnegResource { @GET @Path("{id}") //关注点1:媒体类型为XML @Produces(MediaType.APPLICATION_XML) public Book getJaxbBook(@PathParam("id") final Long bookId) { return new Book(bookId); } @GET @Path("{id}") //关注点2:媒体类型为JSON @Produces(MediaType.APPLICATION_JSON) public Book getJsonBook(@PathParam("id") final Long bookId) { return new Book(bookId); }
}
在这段代码中,getJaxbBook()和getJsonBook()是同等质量因素、资源地址相同的两个GET方法,一个定义响应实体格式为XML,一个定义响应实体格式为JSON,见关注点1和2。那么对同一个资源的访问,JAX-RS2该如何选择处理方法呢?如果请求中明确定义可接受的数据类型为两者之一,处理方法应该是定义相应数据类型的方法。如果两者都定义了,处理方法应该是质量因素高的方法。如果两者都定义,而且数据类型的质量因素是相等的或者没有定义Accept,XML的方法会被优先选择。
@Produces注解相关推荐
- spring丶@produces注解-作用解答
----我理解的是转换返回数据的格式,也就是 返回的内容类型 ---- ----注:@consumes是指定处理请求的提交内容类型.两者刚好相反---- 注解@Produces用于定义方法的响应实体的 ...
- javaEE注解@Decorator/@Delegate/@Observes/@Produces/@Alternative
java SE 下的应用(设计模式.多线程等)迁移到Java EE下,经过改.进封装.使用注解等: 在Java SE下通过new.构造器等方式创建的对象,并未在Java EE下的容器(eg:EJB容器 ...
- java jersey使用总结_jersey使用指南
jersey 是基于Java的一个轻量级RESTful风格的Web Services框架. 引入 使用maven,在pom.xml中加入: org.glassfish.jersey.core jers ...
- 使用JAX-RS创建RESTful Web Service
guice resteasy http://www.cnblogs.com/ydxblog/p/7891224.html http://blog.csdn.net/withiter/article/d ...
- JAX-RS 方式的 RESTful Web Service 开发
2019独角兽企业重金招聘Python工程师标准>>> Web Service 目前在风格上有两大类,一个是基于 SOAP 协议,一个是完全遵循 HTTP 协议规范的RESTful ...
- [Android]使用Dagger 2进行依赖注入 - Producers(翻译)
使用Dagger 2进行依赖注入 - Producers 原文:http://frogermcs.github.io/dependency-injection-with-dagger-2-produc ...
- Java RESTful Web Service实战(第2版) 2.3 传输格式
2.3 传输格式 本节要考虑的就是如何设计表述,即传输过程中数据采用什么样的数据格式.通常,REST接口会以XML和JSON作为主要的传输格式,这两种格式数据的处理是本节的重点.那么Jersey是否还 ...
- JAVA RESTful WebService实战笔记(二)
资源定位之注解相关简介 @QueryParam注解 JAX-RS2定义了@QueryParam注解来定义查询参数,如下表所示 接口描述 资源地址 分页查询列表数据 /query-resource/te ...
- Java RESTful Web Service实战(第2版)
Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...
最新文章
- 全基因组关联分析中上位性检测算法的研究
- Python3快速入门(三)——Python3标准数据类型
- 蓝桥杯java第五届决赛第三题--格子放鸡蛋
- 学习视觉和语言的多粒度对齐?字节提出新多模态预训练方法 X-VLM:代码已开源!...
- 汉三水属国(北地属国、安定属国)
- 营销自动化权威指南_免费电子书:自动化根本原因分析的完整指南
- python公共变量_Python中的公共变量
- django报错:ImproperlyConfigured和AppRegistryNotReady
- 配色方案|平板羽毛集,为你的下个作品做安排
- 利用 OpenMP 实现埃拉托斯特尼(Eratosthenes)素数筛法并行化
- 使用 Zabbix 监控 Jenkins
- javascript 自动化单元测试
- ABP之Javascript生成
- K33 不是平面图_Edraw Max:一款简单好用的建筑平面图设计软件!
- BI与SaaS碰撞,让数据处理更加轻松(下)
- 罗格斯的计算机科学博士奖学金,罗格斯大学计算机工程博士专业排名全网最新深刻分析...
- 阅读的 10 大好处:为什么你应该每天阅读
- Note: LSR LER
- net-java-php-python-宠物销售系统计算机毕业设计程序
- 2020CSP-S T1 儒略历