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”:“所有部門”} 傳輸同樣無法解析