1.axios post請求 Content-Type默認為 application/x-www-form-urlencoded,我們傳遞參數的時,params里面的參數(簡單的對象,通過 "{}" 或者 "new Object" 創建的)會被以&拼接的方式拼接到請求地址的后面,data里面的參數(簡單的對象,通過 "{}" 或者 "new Object" 創建的)會以Form Data的形式存在,但是Form Data里面把我們傳進去的整體當成了一個key值,沒有value
解決方法是:導入qs庫(qs庫已經包含在axios中,不需要重新安裝),data里面的參數使用qs.stringify方法來轉換,轉換之后后端才能正常獲取
2.post請求當Content-Type設置為application/json;時,params(簡單對象)里面的參數仍然會被拼接到請求連接后面,但是data(簡單對象)里面的參數是放到Request Payload中
3.@RequestParam和@RequestBody的區別
若后端使用@RequestParam 來接收前端傳過來的參數的,Content-Type要設置為application/x-www-form-urlencoded,並且需要對data使用qs.stringify來進行轉換;
若后端使用@RequestBody 來接收前端傳過來的參數的,Content-Type要設置為application/json;