解決Springboot 2 的@RequestParam接收數(shù)組異常問題
Springboot 2 的@RequestParam接收數(shù)組異常
最近Vue 開發(fā)前端,然后向后臺springboot 2 傳遞數(shù)組,發(fā)現(xiàn)springboot 2 接收數(shù)組方式無法使用
-- @RequestParam("ids[]") List<String> ids --
然后拋出以下異常,經過多輪驗證發(fā)現(xiàn)@RequestParam("ids[]") 失效,無法使用(不知道是BUG,還是改了,之前可以的)
Resolved [org.springframework.web.bind.MissingServletRequestParameterException] Required String[] parameter 'ids[]' is not present]
所以這里給出解決方式:
1、后端方法接收去除@RequestParam ,然后使用數(shù)組接收 例如:String[] ids

2、前端傳遞數(shù)組axios 需要使用 URLSearchParams 包裹數(shù)組

3、請求頭中參數(shù)傳遞顯示為如圖所示:
無論是axios還是ajax 只要請求頭傳遞格式是這樣的,后端用String[] ids 接收就行了

Springboot 的 用數(shù)組接參方法 Post接參 RequestParam
@RequestParam(value = "meetingIds",required = false)
其中value 的值隨傳參改變
加在接參方法的前邊,例:
public JSONObject getInfo(String searchText, @RequestParam(value = "meetingIds",required = false) List<Long> meetingIds){}
如果傳遞參數(shù)的格式是 meetingIds = 1,23,4,5 這樣的 則直接寫參數(shù)名meetingIds 即可;
有幾點需要注意:
1、如果是post傳參,前端直接傳數(shù)組類型的數(shù)據(jù),后臺接參需要吧value改為 meetingIds[] 注意括號
2、如果是參數(shù)有可能不傳,則需要設置required = false , 如果不寫,則默認會是true,也就是必然有參數(shù),如果沒參數(shù)會報錯,不進入方法。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java實現(xiàn)簡易版聯(lián)網坦克對戰(zhàn)小游戲(附源碼)
這篇文章主要給大家介紹了關于Java實現(xiàn)簡易版聯(lián)網坦克對戰(zhàn)小游戲的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04
MyBatis Plus Mapper CRUD接口測試方式
在數(shù)據(jù)庫管理系統(tǒng)中,插入記錄是添加新數(shù)據(jù)條目,而刪除操作包括根據(jù)主鍵ID單條刪除和批量刪除,也可以基于特定條件進行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
Java實現(xiàn)統(tǒng)計文件夾下所有文件的字數(shù)
這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)統(tǒng)計文件夾下所有文件的字數(shù),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-03-03

