@RequestMapping注解中的produces属性的作用

本文介绍了Spring MVC中@RequestMapping注解的使用,特别是如何通过value属性设置多个url以及produces属性的作用。通过value属性以逗号分隔可以指定多个请求路径,produces属性则用于设定返回值类型和编码,如application/json或application/xml。虽然@RestController默认返回json,但produces属性在浏览器解析和调试时能提供便利,并在需要返回xml时发挥作用。要返回xml,需引入jackson的xml支持依赖。

关于@RequestMapping注解

这个注解的使用方法相信大家都知道,可以写在类或者方法上,指定请求的url路径,最近在使用的时候发现了一些原来没有注意的地方,特此记录

记录一:一个注解可以设置多个url

//如果想配置多个url都可以访问,可以将value属性这样设置
@RequestMapping(value={"/api/v1/channel","api/test/v1/channel"} )

上图中value属性,用逗号分隔开了两个url,这两个url就都可以进行请求,之前没怎么注意点,记录一下

记录二:produces属性

produces属性的作用是设置返回值的类型以及编码类型

//produces 属性可以设置返回值类型和编码
@RequestMapping(value="/api/v1/channel" , produces = {"application/json;charset=UTF-8"})
@RequestMapping(value="/api/v1/channel" , produces = {"application/xml;charset=UTF-8"})

不过呢,这个属性一般可以不写,因为我们在controller层一般会用到@RestController注解,而@RestController注解的作用本来就是返回json类型的数据,所以如果你的目的仅仅是让返回数据类型是json,那这个属性的作用不大。

但是呢,它也会起到一定的作用,就是浏览器在得到返回的结果进行解析的时候,会按数据的格式进行展示(网上看到别人说的,反正就是调试的时候看起来会方便一些)。

另外,如果你需要返回xml,那produces属性就起到作用了,设置成application/xml即可,除此之外还要导入一个依赖哦!

补充内容

//引入jackson依赖,这样就能支持返回xml类型的数据了
<dependency>
  <groupId>com.fasterxml.jackson.jaxrs</groupId>
  <artifactId>jackson-jaxrs-xml-provider</artifactId>
</dependency>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值