当内容类型为application / json时,@ RequestBody可以读取请求主体并将其反序列化为对象,但是内容类型为application / x-www-form-urlencoded,spring-mvc不能使用以下格式支持该内容类型@RequestBody注释。
在我的项目中,我遇到了这个问题,我想同时支持它们两个,但是我不想失去@RequestBody的便利性。
是否有另一种方式来支持这两种内容类型,就像@RequestBody可以将请求主体反序列化为对象一样?
@RequestMapping(value = "/test")
public String test(@RequestBody User user) {
return user.toString();
}
答案 0 :(得分:0)
还有另一种方式来支持这两种内容类型吗 @RequestBody可以自动反序列化请求主体为对象吗?
负面。
您可以 做的是使用FormHttpMessageConverter反序列化为MultiValueMap<String, String>
。然后,您可以编写一个转换器来接受它并创建一个User
对象。