gpt4 book ai didi

node.js - 数组无意中被 supertest 转换为对象

转载 作者:太空宇宙 更新时间:2023-11-03 22:53:40 25 4
gpt4 key购买 nike

下面的数组(query.conditions)以某种方式转换为对象,知道为什么以及如何防止它吗?

请求:

          supertest(options.url)
.get('/api/action')
.expect(200)
.query({
conditions:
[
{ 'user' : user._id },
{ 'type' : 14 },
{ 'what' : 4 },
]
})

服务器得到什么:

{
"conditions": {
"user": "5592cc851f3febd016dae920",
"type": "14",
"what": "4"
}
}

最佳答案

似乎有issues with query string serializationsuperagent 中(由 supertest 使用)。

要解决这个问题,您可以使用 qs.stringify()关于您的数据:

var qs = require('qs');

...

supertest(options.url)
.get('/api/action')
.expect(200)
.query(qs.stringify({
conditions:
[
{ 'user' : user._id },
{ 'type' : 14 },
{ 'what' : 4 },
]
}))

(如果可能的话,使用 POST JSON 可能更合适)

关于node.js - 数组无意中被 supertest 转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31144739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com