项目场景:
再用@RequestBody注解解析JSON字符串入参实体时报错:org.springframework.web.HttpMediaTypeNotSupportedException: Content type ‘application/x-www-form-urlencoded;charset=UTF-8’ not supported
Controller代码:
@RequestMapping("add")
public void add(@RequestBody @Validated UserRegister userRegister){
userRegisterMapper.add(userRegister);
}
原因分析:
如果想用SpringMVC的@RequestBody注解解析JSON字符串入参实体时POST请求的ContentType的值必须是application/json;charset=UTF-8,否则会抛"not supported"异常。
解决方案:
导致这个问题的出现是因为缺少缺少jackson-databind 的jar包。添加maven坐标即可。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8.1</version>
</dependency>