在 Axios 中更正 url 中的数组

Correct array in url in Axios

所以我最近开始使用 Axios 创建我的第一个项目。当我尝试从 API 中获取数据时,默认情况下(我认为)axios 给我一个 URL,例如:

 /search?health[]=alcohol-free&health[]=celery-free&nutrient[]=calcium&nutrient[]=carbs

但是 API (Edamam API) 需要:

/search?health=alcohol-free&health=celery-free&nutrients%5BCA%5D=100-&nutrients%5BFAT%5D=100

我的参数:

const params = {
    ...other,
    health:  ["alcohol-free", "celery-free"],
    nutrient: {
       CA: "100-200",
       FAT: "100" // under 100mg
    },
}

我怎样才能纠正我的 URL 这样的。我不知道在哪里修复 axios 中的 URL。谢谢!

在调用 axios

之前使用 qs 程序包将您的请求字符串化
const qs = require('qs')

const params = {
    ...other,
    health:  ["alcohol-free", "celery-free"],
    nutrient: {
       CA: "100-200",
       FAT: "100" // under 100mg
    },
}

axios(qs.stringify(params))