ฉันกำลังส่งพารามิเตอร์จากแบบฟอร์มด้วยวิธีนี้:
myparam[0] : 'myValue1'
myparam[1] : 'myValue2'
myparam[2] : 'myValue3'
otherParam : 'otherValue'
anotherParam : 'anotherValue'
...
ฉันรู้ว่าฉันสามารถรับพารามิเตอร์ทั้งหมดในเมธอดคอนโทรลเลอร์ได้โดยการเพิ่มพารามิเตอร์เช่น
public String controllerMethod(@RequestParam Map<String, String> params){
....
}
ฉันต้องการผูกพารามิเตอร์ myParam [] (ไม่ใช่พารามิเตอร์อื่น ๆ ) กับรายการหรืออาร์เรย์ (อะไรก็ตามที่เก็บลำดับดัชนี) ดังนั้นฉันจึงลองใช้ไวยากรณ์เช่น:
public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){
....
}
และ
public String controllerMethod(@RequestParam(value="myParam") String[] myParams){
....
}
แต่ไม่มีข้อใดผูกมัด myParams แม้ว่าฉันจะเพิ่มค่าให้กับแผนที่ แต่ก็ไม่สามารถผูกพารามิเตอร์ได้:
public String controllerMethod(@RequestParam(value="myParam") Map<String, String> params){
....
}
มีไวยากรณ์ใดบ้างที่จะผูกพารามิเตอร์บางตัวเข้ากับรายการหรืออาร์เรย์โดยไม่ต้องสร้างวัตถุเป็น @ModelAttribute โดยมีแอตทริบิวต์รายการอยู่
ขอบคุณ
method = RequestMethod.GET
หรือmethod = RequestMethod.POST
? หาก.GET
@RequestParam List<String> groupVal
ทำ?groupVal=kkk,ccc,mmm
สำเร็จ ( Spring Boot )
HandlerMethodInvoker.resolveRequestParam
จะได้รับค่าแรกเท่านั้น