1.在開發過程中遇到了需要接收數組參數的問題,在網上找了許多方法還是報錯非法字符的問題,懇請各位大佬解惑。
2.由于自己用是STS,內嵌tomcat9,已經嘗試過了配置tomcat文件的方式
3.相關代碼
(1)控制臺錯誤報錯
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:479) ~[tomcat-embed-core-8.5.34.jar:8.5.34]
(2)postman輸入的url
http://192.168.0.182:8088/Artilce/batchDelete?arrs[0]=1&arrs[1]=2
(3)controller方法
@RequestMapping(value="/batchDelete",method=RequestMethod.POST)
public boolean batchDelete(@RequestParam(value="arrs[]")Integer [] arrs) {
for(int i=0;i<arrs.length;i++) {
System.out.println(arrs[i].toString());
}
return true;
}
4.懇請大佬們解惑
2 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
數組的話,傳同名參數就可以了,類似你說的這種形式:
@RequestParam(value="arrs[]")Integer [] arrs)
改成下面這種:
@RequestParam(value="arrs") Integer[] arrs)
傳參數時寫為:
arrs=1&arrs=2&arrs=3
添加回答
舉報
0/150
提交
取消