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

被折叠的 条评论
为什么被折叠?



