axios.js get 请求 生成参数的方法,兼容golang gin

博客内容讲述了在使用Golang的Gin框架时遇到的一个问题,即默认的Axios GET请求参数格式与Gin不兼容。当参数为数组时,Axios会默认生成如a[]=A&a[]=B&a[]=C的格式,而Gin框架无法正确解析。解决方法是在Axios的get请求中添加paramsSerializer参数,引入qs库并设置indices为false,使得参数格式变为a=A&a=B&a=C,从而让Gin可以正确读取。
部署运行你感兴趣的模型镜像

原因

按照默认的http get请求,如果请求参数是数组,不如参数codes 数组,值[“A”,“B”,“C”],那么按照http请求,传递get参数应该是 a[]=A&a[]=B&a[]=C,可问题是golang gin框架不支持这种,使用axios的默认的get请求,拼接这种参数,服务端gin无法接受成功。

解决办法

await axios.get('/your-api-url', {
  params: {
    codes: codes
  }, paramsSerializer: params => {
    return qs.stringify(params, {indices: false})
  }
}).then((resp) => { console.log(resp)});

注意

这里一定要带参数 {indices:false},否则解出来的会是 a[0]=A&a[1]=B&a[2]=C。
如果带了这个参数,那么解出来的是 a=A&a=B&a=C,这样后端gin才可以读取到。

引入qs包的方法

npm i qs 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值