使用postman新增数据时,controller获取的数据是null(2020.09.01)
使用postman新增数据时,后台controller中获取到的数据全是null
解决办法:
1.首先检查自己的pom.xml文件中是否添加jackson依赖(三个都有):
2.在controller中添加@ResponseBody注解
运行结果:
报错:HTTP状态 415 - 不支持的媒体类型
3.在controller中添加consumes = “application/json”
运行结果:
报错:HTTP状态 415 - 不支持的媒体类型
4.在controller中添加@ModelAttribute(“informationModel”)
【PS:这个注解不太明白】
5.在controller中添加@RequestBody
(1)添加了@RequestBody之后运行,使用postman测试,还是会报415错误
(2)这个时候应该检查springMVC.xml文件是否有下图所示的bean配置
(3)有这个,但是还是不能成功使controller接收json数据,必须加:
<mvc:annotation-driven>
<mvc:message-converters>
<!-- 配置Fastjson支持 -->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json<alue>
<value>textml;charset=UTF-8<alue>
<st>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
(4)加了之后测试,发现报错:java.lang.ClassNotFoundException: com.fasterxml.jackson.core.exc.InputCoercionException
这是因为我之前使用的版本是2.10.x 版本,改了版本之后就可以正常插入数据了。
参考资料:
1.解决思路.
2. @ResponseBody注解使用参考链接.
3. modelAttribute注解的作用.【PS:这个注解不太明白】
4.SpringMVC的五种请求传参方式.
5.版本问题.