SpringMVC接收数组参数
最近使用SpringMVC接收数组参数遇到一些问题,记录在此,最后是解决办法。
问题描述:前端传参为[1,2,3,4,5],后端使用发现,数组的第一个元素会被封装为[1,最后一个元素会被封装为5],这样是有问题的。
方式一前端传参:
方式一后端接收:
到网上找了半天,都说使用下面这种方式接收,结果还是一样
@RequestParam(value = "photos[]")
方式二前端传参:
方式二后端接收:
方式三前端传参:
方式四后端接收:
如果前端传参为逗号分隔的形式,没有中括号,后端接收后可以正常解析为数组格式。如果前端必须传递带中括号的方式,例如方式1,后端可以将中括号等符号进行替换为只有逗号拼接格式的字符串,然后使用spilt转换为数组或者集合进行处理也可以。
方式五前端传参:
方式五后端接收:
这种方式也可以接收,即前端传参为photos=1&photos=2&photos=3&photos=4&photos=5这种格式的。
Refer: