@requestBody:SpringMVC对Json字符串参数的处理(坑)
@requestBody标签
优势:简单实现对Json字符串的解析,并将结果注⼊到JavaBean中
@RequestMapping("/addUser")
@ResponseBody
public Object addUser(@RequestBody User user){
//addUser
return true;
}
缺点:
1:Json字符串不能包含多余的信息
2:Json字符串不能使⽤ ’ 单引号来包含内容,必须⽤双引号”.如下所⽰
正确 : ‘{“user”:”Tom”,”id”:”1”}’springmvc常用标签
错误 : “{‘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的匹配,效果好很多
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论