在做專案時遇到乙個問題, 前端用axios傳遞id陣列給後端, 請求方法是delete, 後端採用@requestbody來接受list然後捕捉到異常 required request body is missing: 意味著後端未能成功接收到引數, 這其中踩了許多坑
如果不是傳遞字串, 不要使用josn.stringify()把物件轉換成字串格式再傳參
qs.stringify()是針對get方法傳參, 將物件轉換成乙個url, 有大小限制
採用delete請求方法, post也是一樣的
get需要使用qs.stringify()進行引數的轉換, 這裡不涉及
直接上正確的傳參方法
// api
/** * 禁用user
* @param userids
* @returns promise
* @constructor
*/export function deletedisableuserinbulk(userids) )
}
// 方法呼叫api
// 不能傳入這個物件, 直接傳入array即可
// 不能使用json.stringify(array), 如果使用會導致後端無法解析
test() )
}
// 後端controller
@apioperation(value = "根據使用者id刪除使用者", notes = "邏輯刪除, 置enabled為false")
public dict disableinbulk(@requestbody @apiparam(value = "使用者id集合", required = true) listuserids)
圖1 後端正確拿到引數
圖2 前端返回正確結果
測試證明這是正確的傳參方式
axios傳遞陣列引數
最近乙個練手vue專案,選擇axios作為網路請求庫。後台一介面使用了陣列作為引數。本以為沒什麼,實則遇到了乙個大坑。axios.post url,then res 如果你像正常的方式一樣,將乙個陣列作為乙個請求引數傳遞,那麼要麼axios直接丟擲連線異常,要麼後端介面接收不到匹配的引數。impor...
axios 傳遞陣列引數
正常傳參 request是封裝axios的請求方法,這部分以後貼具體的封裝 import request from utils request export function fetchlist query 陣列傳參 資料定義為陣列,傳遞的引數希望的格式是 http ip contract?stat...
ajax向後端傳遞陣列
ajax在web專案開發中經常會用到,平時我們傳遞資料,基本都是乙個引數名對應乙個引數值,後端通過引數名就可以得到引數,從而進行相關邏輯處理,但是有時候我們會遇到批量操作,比如批量刪除乙個列表,這時候我們傳遞的就是乙個id的陣列,這時候前後端需要對陣列傳遞做一些特別的處理 這種方式我們傳遞的引數fo...