参考:vue中axios解决get请求传输数据是数组格式问题(转载)
我们可以在axios请求拦截器中对参数进行序列化配置
axios.interceptors.request.use((config) => {
NProgress.start() // 进度条开始
// 携带上token
let token = localStorage.getItem('token')
token && (config.headers.Authorization = token)
//只针对get方式进行qs序列化
if (config.method === 'get') {
config.paramsSerializer = function (params) {
return Qs.stringify(params, {
arrayFormat: 'repeat'
})
}
}
console.log('axios请求发送值', config);
return config
}, error => {
return Promise.reject(error)
})
JAVA后端接受的时候,要使用@RequestParam指定value值,对应前端发送的数组名称,数组不可以是对象哦。
@GetMapping("/dayTotal")
R getDayTotal(@RequestParam(value = "dates", required = false) List<String> dates,
String shopbelong,
String payer)