手机html5网站模板/网推项目
1.@RequestBody
这玩意是用来接收一个Json对象的,但是在get请求时,使用它是无效的。
因为GET的参数是通过Url方式传递的,而不是请求体传递的,所以无法通过@RequestBody注解来接收
@RequestParam的意思是请求参数,不管是GET还是POST参数都可以接收到。我们此时可以使用它
2.@RequestParam Map<String, Object> map
这个在后台用来接收map集合 , 前端传的应该是一个对象,前端使用JSON.stringify之后,会把整个参数解析成一个string字符串,后台get可能会get不到
3.@RequestBody Map<String, Object> map
这个是第二点的另一个写法,后台仅仅只有注解不同,前端 ajax需要加两个东西
contentType: "application/json" , data:JSON.stringify(that.badRecord),
原因是@RequestBody需要把所有请求参数作为json解析,因此,不能包含key=value这样的写法在请求url中,所有的请求参数都是一个json。而直接通过浏览器输入url时,@RequestBody获取不到json对象,需要用java编程或者基于ajax的方法请求,将Content-Type设置为application/json,参数由对象变成传个json字符串而已。