转载:https://blog.csdn.net/showadwalker/article/details/88238451
https://blog.csdn.net/weixin_38004638/article/details/99655322
RequestBody|ResponseBody|RequestParam是用在方法或者参数上,用于处理请求值或者返回值,@RequestMapping,@postMapping等用于映射路径,刚开始学习springMvc的时候总是傻傻分不清楚,用一遍看一遍
1 @RequestBody
注解@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
GET请求中不可以使用@RequestBody
@RequestBody的作用是将前端传来的json格式的数据转为自己定义好的javabean对象
需要注意的是传入数据的属性名称要和后端javabean中定义的一致
发送请求后可以看到在控制台中我们通过javabean对象的get方法打印出了前端传来的值,说明json数据已经成功的被转换为了javabean对象,将对应的属性进行了赋值
注:@RequestBody要写在方法的参数前,不能写在方法名上方
2 @ResponseBody
@ResponseBody的作用是将后端以return返回的javabean类型数据转为json类型数据。在此就不做具体的事例演示
注:@ResponseBody要写在方法名上
3@RequestParam注解使用
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
注解@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。
RequestParam可以接受简单类型的属性,也可以接受对象类型。
@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type默认为该属性。
@RequestParam也可用于其它类型的请求,例如:POST、DELETE等请求。
不推荐使用@RequestParam接收application/json,这时候就需要使用到@RequestBody。