前端
Axios的GET请求
1.GET无法使用data传参,得使用params
http.get<PageResult<LoginLogVo>, PageParamDto<LoginLogDto>>({
url: '/sys/v1/list',
// data 无法传参
// data: pageParamDto,
params: pageParamDto
})
2.params属性值为多个对象时
interface PageParamDto<T> {
pageParam: PageParam
dto?: T
}
params属性都为多个对象时,默认序列化为:
pageParam[currentPage]=2&pageParam[pageSize]=5&dto[userId]=10001&dto[location]=北京
后端无法解析这种格式对象
解决方案:使用 qs 序列化params参数
pageParam.currentPage=2&pageParam.pageSize=5&dto.userId=10001&dto.location=北京

本文主要探讨了在Vue应用中使用Axios进行GET请求时遇到的问题,包括GET请求不能使用data传参而需用params,以及params包含多个对象时的序列化问题。在后端SpringBoot3中,当Controller的GET方法接收两个对象参数时,可能出现参数混淆或无法自动装配的问题。通过引入qs库序列化params和使用@InitBinder与@ModelAttribute注解可以解决这些问题。
最低0.47元/天 解锁文章
459

被折叠的 条评论
为什么被折叠?



