@requestBody:Spring MVC对Json字符串参数的处理(坑)

@requestBody标签
优势:简单实现对Json字符串的解析,并将结果注入到JavaBean中

@RequestMapping("/addUser")
@ResponseBody
public Object addUser(@RequestBody User user){
   //addUser
   return true;
}

缺点:
1:Json字符串不能包含多余的信息
2:Json字符串不能使用 ’ 单引号来包含内容,必须用双引号”.如下所示
正确 : ‘{“user”:”Tom”,”id”:”1”}’
错误 : “{‘user’:’name’,’id’:’2’}”

总结:Spring通过RequestBody注解处理Json字符串是有限制的,而这些限制是在我花了好几个小时处理400,415等各种错误中发现的.因为我做的项目是Java Web项目,接口都是通过HTML访问,无法理解为什么要用RequestBody去处理Post请求,HTML还要通过JSON.stringify(jsonData)来将Json对象转换成Json字符串,明明可以直接将Json对象作为参数传递给服务器,与之对应的,服务器可以不用添加RequestBody标签,获取请求的参数也容易很多.但是当面临其他的平台调用Java的Web接口时,Json字符串作为通用的通信方式,最后还是回到了处理Json字符串的老路上,才理解了为何当初会选择使用RequestBody.

最后:其实RequestBody真的很坑,不如直接拿到Post的Json字符串,通过现有的jar实现Json字符串与JavaBean的匹配,效果好很多!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值