在Controller层中,要注意观察前端传入的是什么值,表单数据,粘贴在链接后面得参数,还是JSON格式的数据,在此层中直接指定对应的解析器,而不是完全交给Spring MVC来做处理,这样可以减少一些不必要的解析成本,避免数据转换过程中出现异常,这样可以做好更好的数据校验,代码也更严谨。
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
@RequestParam是传递参数的.
@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。
@ModelAttribute
在控制器的处理器方法参数上添加 @ModelAttribute 注释可以访问模型中的属性,如果不存在这个模型,则会自动将其实例化,产生一个新的模型。 模型属性还覆盖了来自 HTTP Servlet 请求参数的名称与字段名称匹配的值,也就是请求参数如果和模型类中的域变量一致,则会自动将这些请求参数绑定到这个模型对象,这被称为数据绑定,从而避免了解析和转换每个请求参数和表单字段这样的代码。
参考文章
https://blog.youkuaiyun.com/justry_deng/article/details/80972817