前端使用Get传递数组形式的数据
- 前端
- 后端接收
不能直接使用
JSON.stringify()
传输参数,或者直接用json数据传输,后端均会应为包含了非法的符号
[
与
]
而报错。
前端
主要在于对Array形式的数据进行转换,拼接成字符串,采用join方法将每个元素进行拼接。最后拼接之后的形式是
/api?ids=1,2,3,4
的形式
http.get(stockRequestApi.getStockFlowInfoApi, {ids: ids.join(',')}).then(res => {}).catch(err => {})
后端接收
采用get方式的参数获取,使用同名的参数,或者采用@RequestParam
指定接收的参数,便会自动解析参数。
采用Integer[]
或 List<Integer>
均能接收数组类型的参数。
@GetMapping("/get/flowDetails")
public ResultData getFlowDetails(@RequestParam("ids") Integer[] stockIds) {...
}//采用list也能接收数组类型的参数
public ResultData getFlowDetails(List<Integer> ids) {...
}