【发布时间】:2020-07-23 02:28:01
【问题描述】:
我正在与 Express 合作,为我的 React 应用程序创建一个端点。该应用程序将允许用户搜索多家公司以查找每家公司的联系人列表。他们可以一次搜索多家公司,因此在某些情况下,我需要在我的 get 中多次使用相同的查询参数:
现在这就是我的代码的样子。在上述情况下,它只会拉取 stackoverflow 的结果,因为它是第一个。它将我所有的公司名称变成一个数组而不是对象。我尝试在等号之前和公司名称周围使用方括号,但名称仍以相同的方式分组到一个数组中。
app.get('/api/accounts/people', (req, res) => {
const accountId = req.query.account_id
return axios({
method: 'get',
url: `https://api.getallthesecompanies.com/people.json?account_id=${accountId}`,
}).then((response) => {
res.json(response.data)
})}
【问题讨论】:
-
抱歉,数组有什么问题?你不能映射它并获取每个 id 的联系人列表吗?
-
对不起 - 意思是说它将公司名称作为数组中的单个字符串返回,例如 ["stackoverflow, github, walmart"] 而不是 ["stackoverflow", "github" , "沃尔玛"]
-
啊,好的。那是因为查询类似于“?account_id=id1&id2&id3...?因为我认为如果查询类似于“?account_id=id1&account_id=id2&account_id=id3...”,那么它会给你一个单独的名称数组。当然, 除非某些公司名称中有逗号,否则即使使用第一个版本,您也可以执行 account_id[0].split(',') 并拥有一个新的个人名称数组。
-
谢谢!分裂奏效了。我还需要在我的 get 请求中添加一个 params 对象,它将 account_ids 作为数组接收。非常感谢您的帮助:)
标签: javascript node.js api express axios