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
用于指定请求头。