前端使用axios傳遞陣列後端使用List接收

2022-04-30 18:51:12 字數 1030 閱讀 1899

在做專案時遇到乙個問題, 前端用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...