javascript - axios 使用重复的参数打字稿
问题描述
我正在使用无法再调整的现有后端。我需要打一个电话来获取所有消息。其中一个参数是类型,这可用于从特定类型获取所有消息。后端开发人员告诉我,我必须多次使用它,如下所示:
/api/message?type=test&type=test2
所以我尝试将它作为一个数组发送,结果是:
/api/message?type[]=test&type[]=test2
找到一些关于 SO 的信息让我使用了 QS 但这也没有给我我需要的结果
api/message?type%5B0%5D=test&type%5B1%5D=test2
export const getMessages = () =>
baseApi
.get('/message', {
params: {
type: [
'test',
'test2'
]
},
paramsSerializer: (params) => {
return qs.stringify(params)
}
})
.then((r) => r.data as Message[])
解决方案
您可以使用附加方法。喜欢(URLSearchParams):
const params = new URLSearchParams()
params.append("type","test")
params.append("type","test2")
然后,您像以前一样在请求中设置参数:
export const getMessages = () =>
baseApi
.get('/message', {
params: {
params
},
paramsSerializer: (params) => {
return qs.stringify(params)
}
})
.then((r) => r.data as Message[])
推荐阅读
- javascript - axios.all() 使用最后一个请求配置
- angular - 测试导出的常量对象
- sql - 更新语句给出表别名错误
- c# - Azure 函数 - 在 Visual Studio 2017 中为不同环境添加不同的设置文件
- powerbi - 如何使用 Power BI 从 Order 表中查找没有匹配 LineItem 行的行?
- dynamics-crm - 从 ADFS CRM 到 Sharepoint 的问题
- vb.net - Windows 错误报告事件 ID:1001,事件名称:CLR20r3
- python - 尝试使用 for 循环比较文本
- python - 我将如何模拟对非活动窗口的直接输入?
- python - 如何获取实例的名称以影响 tkinter 标签