@RequestBody的用法
@RequestBody是后端的controller接收参数时用到的
它的作用是前端的JSON数据转换为java对象的,不仅转换普通的java bean,也可以是List
而且是通过post的方式接收参数,如果不加的话,就是默认通过get的方式接收参数
@RequestBody和@RequestParam()的区别
@RequestBody用于接收放在HTTP的请求体中的数据(post)(@Response也是将返回内容放在HTTP的请求体中)
@RequestParam()用于接收放在URL中的数据(get)
https://blog.csdn.net/justry_deng/article/details/80972817
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。
注:当同时使用@RequestParam()和@RequestBody时,@RequestParam()指定的参数可以是普通元素、 数组、集合、对象等等(即:当,@RequestBody 与@RequestParam()可以同时使用时,原SpringMVC接收参数的机制不变,只不过RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value里面的参数,所以它会被切面进行处理从而可以用普通元素、数组、集合、对象等接收)。
即:如果参数时放在请求体中,传入后台的话,那么后台要用@RequestBody才能接收到;如果不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收,或则形参前什么也不写也能接收。