1.前端请求参数->HTTP编码->SpringMVC接收参数
参数格式
-
前端参数数据格式
- Object objec = {key:value}
- key1=value1&key2=value12 (keyvalue字符串)
- JSON.stringfy(object) => “{key:value}”(json字符串)
-
后端SpringMVC接收参数类型
- @RequestBody注解接收要求无法进入方法体
- Json字符串
application/json
- Post方法请求
- @RequestParam注解
- 无注解(以下结果默认无注解接收)
- @RequestBody注解接收要求无法进入方法体
请求过程(Post请求)
Http接收参数编码(请求头:Content-type)
-
默认编码
application/x-www-form-urlencoded; charset=UTF-8
(该编码方式可以传输处了Json字符串以外数据)-
前端参数为obejct或者keyvalue字符串类型,都将以下编码格式传输
浏览器默认URL编码格式:
Source:
dept%5BdeptName%5D=%E6%89%80%E6%9C%89%E9%83%A8%E9%97%A8&
URL encoded:
dept%5BdeptName%5D: %E6%89%80%E6%9C%89%E9%83%A8%E9%97%A8
Decoded:
dept[deptName]: 所有部门
-
前端参数为Json字符串将以 {“dept”:{“deptId”:1,“deptName”:“所有部门”} json对象格式传输
后台无法解析数据
-
-
application/json
传输格式为json格式(该编码方式必须配合@Requestbody注解参数接收)- 前端参数为obejct或者keyvalue字符串将以Source的格式传输但SpringMVC后台无法解析
- 前端参数为 Json字符串将 {“dept”:{“deptId”:1,“deptName”:“所有部门”} 传输同样无法解析