关于SpringMVC后台接收不到参数的原因有很多种,网上也有很多对应的解决方案,在这里记录一下自己曾经遇到的一个小坑。
前几天在测试一个后端接口,使用postman工具以json的格式向后台接口提交post请求数据,后台接口使用一个封装好的实体类User来接收,但发现接收到的用户名和密码参数都为null,百思不得其解,后来经过检查发现,原来是 json数据格式多层嵌套 的问题。以下为解析说明:
- 这是postman提交的数据: 可以看到userName和password这两个数据的外面还有data这一层,后端接口的参数应该使用类似
RequestObject<User> requestObject
的方式来接收,然后requestObject.getData()
获取真正的 User 对象,再通过user.getUserName()得到用户名和密码。
总结:关于json数据格式的问题要细心,在这里再列举几个常见的出错原因:
- 中间没加逗号或者结尾有多余的逗号
- 中英文半角忘记切换
- key的双引号忘记加
另外可以利用postman工具右上角的 Beautify 将数据格式化一下,可以更清晰地看到格式问题。
版权归原作者 影子yyt 所有, 如有侵权,请联系我们删除。