You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Axios将请求参数中的对象转为方括号嵌套URL参数格式?

解决Axios GET请求嵌套参数序列化格式问题

核心方案:自定义参数序列化器

Axios默认会将嵌套对象参数序列化为JSON字符串,要得到exists[energyDeliveryPoint]=false这种格式,需要借助qs库处理参数序列化——它默认支持这种表单式的嵌套参数格式。

步骤1:安装qs库

npm install qs
# 或使用yarn
yarn add qs

步骤2:在请求中配置paramsSerializer

修改你的请求代码,添加paramsSerializer配置项:

import qs from 'qs';

axios.get('/consumption_reports', {
    params: {
        exists: {
            energyDeliveryPoint : false
        }
    },
    paramsSerializer: (params) => qs.stringify(params)
})

执行后生成的URL参数就会是consumption_reports?exists[energyDeliveryPoint]=false,完全匹配你的需求。

可选:全局配置Axios

如果项目中有大量同类请求,不想重复配置,可以给Axios设置全局默认序列化规则:

import axios from 'axios';
import qs from 'qs';

axios.defaults.paramsSerializer = (params) => qs.stringify(params);

之后所有GET请求都会自动用qs序列化参数,无需单独配置。


内容的提问来源于stack exchange,提问作者ThomasL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 03:25:35