☆前臺調用代碼統一採用Content-Type:application/json,body :x-www-form-urlencoded(form表單默認的type) 1、.採用post方式 一、用@RequestParam分別接收String對象和List集合接參數 後臺代碼以下: json
1.1 參數放在url;後端
後臺斷點:瀏覽器
====》測試結果:成功app
1.2 參數放在body前後端分離
後臺: Required String parameter 'liveId' is not present ====》測試結果:失敗ide
****1簡單得出結論 POST模式下,@RequestParam接收不到body裏面的數據,但能夠接收到url裏的參數工具
二、用@RequestBody分別接收String對象和List集合接參數 後臺代碼(參數裏面通常只寫一個@RequestBody ,採用對象封裝)post
2.1 前臺將參數放在url上面測試
====》失敗 錯誤信息大致就是參數不服 2.2 前臺將參數放在body區域 --------------因爲是發送json數據 後臺封裝到對象 因此採用raw類型ui
====>成功
****POST下 @RequestBody接收到body下json數據 接收不到url參數
二。GET模式 因爲get只在url裏面傳參數 因此忽略body
2.1GET下的@Requestparam 後臺代碼
前臺
====》成功
那麼@Requestparam呢 先來個簡單的
看來接收失敗了。。。繼續 將參數封裝成對象接收
前臺
又是失敗!!!!!!!!!!!!!!
一樣失敗!!!
重點來了 ; 簡單的測試得出結論; **不管get仍是post @Requestparam 都能接收到url裏面的參數但不能接收到requestbody裏面的數據 @RequestBody 只能接收body裏面的數據,對url上的參數不感冒, 因此說,兩個註解接收參數對get/post (能夠推測到put delete 等) 沒有限定,就是說接收參數和發送方式無關,和參數存在的位置有關,@RequestBody 只接受body區域的數據,而get沒法發送body數據(?),, 總之@Requestparam接收url上面的參數,@RequestBody 接收body區域的json參數,json的key值必定要雙引號哦(不加雙引號,瀏覽器能夠忽略這個錯誤,但不要依賴瀏覽器的包容性哦)!! 暫時到這吧! **