@RequestBody缺省参数实现
时间: 2023-10-12 20:08:54 浏览: 82
在Spring MVC中,可以使用@RequestParam注解来获取请求参数,但如果请求参数较多,这种方式会显得比较繁琐。为了简化这个过程,可以使用@RequestBody注解来将请求参数映射为Java对象,但是@RequestBody注解默认情况下需要指定请求参数的Content-Type为application/json,否则无法正常转换成Java对象。
如果不想指定Content-Type,可以在Spring MVC配置文件中配置一个MappingJackson2HttpMessageConverter,它可以自动将请求参数转换为Java对象,代码如下:
```
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(new MappingJackson2HttpMessageConverter());
}
}
```
这样,就可以在Controller中使用@RequestBody注解来接收请求参数了,例如:
```
@PostMapping("/user")
public void addUser(@RequestBody User user) {
// ...
}
```
其中,User是一个Java对象,它的属性与请求参数对应。Spring MVC会自动将请求参数转换成User对象,并将其作为addUser()方法的参数传入。
阅读全文