@RequestMapping consumes
时间: 2023-08-26 11:16:10 浏览: 102
@RequestMapping注解中的consumes属性用于指定处理请求的方法可以接受的请求内容类型(Media Type)。它可以用于限制请求的Content-Type头部,以确保只有符合指定内容类型的请求才会被处理。
例如,假设我们有一个处理POST请求的方法,但我们只想接受JSON格式的请求体。可以使用consumes属性来限制请求的Content-Type为"application/json",如下所示:
```java
@Controller
@RequestMapping("/example")
public class ExampleController {
@PostMapping(path = "/data", consumes = "application/json")
public String processData(@RequestBody Data data) {
// 处理JSON格式的数据
return "success";
}
}
```
上述示例中,@PostMapping注解指定了处理POST请求的方法,并使用consumes属性限制请求的Content-Type为"application/json"。只有当请求的Content-Type为JSON时,才会调用processData()方法进行处理。
需要注意的是,consumes属性可以接收单个的媒体类型,也可以接收多个媒体类型。例如,consumes = {"application/json", "application/xml"}表示接受JSON和XML两种格式的请求。
通过使用consumes属性,我们可以更加精确地控制请求的内容类型,确保只有符合要求的请求才会被处理。
阅读全文