@RequestMapping几个不常用但可能有用的属性

@RequestMapping几个不常用但可能有用的属性

柳性安 1,340 2023-02-25

consumes

指定何种请求能够匹配该映射

如:只有 Media Type为application/json的请求数据能够匹配

@PostMapping(path = "/pets", consumes = "application/json") 

produces

可以设置返回数据的类型以及编码,可以是json或者xml

如:返回 Media Type为application/json的数据,且编码格式为UTF-8

注意:要加上@RespondBody使用,否则仍旧渲染视图

@GetMapping(path = "/pets/{petId}", produces = "application/json;charset=UTF-8")
@RespondBody

params

判断请求参数的参数携带情况

如下面这种写法是指定请求参数中必须有一个参数名称叫myParam,且value为Myvalue

@GetMapping(path = "/pets/{petId}", params = "myParam=myValue") 
public void findPet(@PathVariable String petId) {
    // ...
}

其它写法:

params = "myParam” :请求参数 包含 参数myParam才能匹配

params = "!myParam":请求参数 不包含 参数myParam才能匹配

headers

判断请求头当中的参数携带情况

用法跟params的一样,判定的是header中的参数

@GetMapping(path = "/pets", headers = "myHeader=myValue") 
public void findPet(@PathVariable String petId) {
    // ...
}