Spring-mvc设置@RequestMapping标签更改返回头及@RequestMapping简述

1. 引子:设置返回头

返回JSON内容时,为了前端方便,建议参加返回头。方法非常简单,在Controller的@RequestMapping标签中设置produces参数即可。

@RequestMapping(value = "Measure",produces="application/json;charset=UTF-8")

2. 简述

接下来我会大概讲讲@RequestMapping 这个标签,作为最常用的最基本的标签,讲讲其常见参数。

3. value

value参数即默认参数,当直接赋值一个String时相当于只是用了value参数,其值应该是一个uri,用于方法的访问。Controller类上的value参数和方法上的value参数会进行合并。实际上,类上的 @RequestMapping 中所有参数都会和方法上的该标签的参数进行合并。

value变量的uri如果有参数的话,可以为具体值,含有某变量的一类值如/User/getInfo{userId}或含有正则表达式的一类值如/User/getByName{name:[a-z]}。

需要注意的是,获取uri中的参数作为方法的参数时,需要添加@PathVariable标签,和其他标签一样默认则识别同名变量,也可自己规定名称。

4. method

value参数外用的最多的参数,可以设置成RequestMapping.GET,RequestMapping.POST,RequestMapping.PUT,可以用{}来赋一组值用于实现多种请求资源的方式。不设置的时候,同时接受POST和GET方法。

5. consumes/produces

consumes和开头的produces参数对应,用于规定请求头,如consumes="application/json"。produces在引子中已说过。

6. params

用于指定该方法中允许的请求,如params="myKey=myValue",则仅允许key为myKey,value为myValue的请求。其值也可以为一个列表。

params适用范围很窄,我能想到的是,用两个uri相同的不同方法处理同一个情景,可以用params属性加以区分(只有这样Springmvc才允许两个相同请求方式的uri)。

7. headers

用于指定请求头。

原文地址:https://www.cnblogs.com/cielosun/p/6753929.html