我需要使用节点request
库发出POST请求,其中正文将包含原始数据,如下所示:
{ "delete" : { "_index" : "foo", "_type" : "bar", "_id" : "1" } }
{ "delete" : { "_index" : "foo", "_type" : "bar", "_id" : "2" } }
\n
请注意,我必须在最后一个对象结束后添加换行符,我只是添加了\n
来说明这一点。
我之前已经使用了请求库充足的时间,但对于正文中的常规单个JSON对象。
在这种情况下,它的倍数,当发送到我需要命中的端点时,每个都需要在一个单独的行上。
我正在努力弄清楚在提供给请求调用的选项中在body param上使用什么
有人能指出我正确的方向吗?
答案 0 :(得分:1)
这里有一些工作代码,涵盖了将对象数组转换为带有尾部换行符的换行符分隔的JSON。它还显示了如何使用POST
库在request
请求中发送原始字符串。希望其中一个内容涵盖您遇到的问题。如果没有,请澄清。
const request = require("request");
const url = "<REDACTED>";
const things = [
{
delete: {
_index: "foo",
_type: "bar",
_id: "1",
},
},
{
delete: {
_index: "foo",
_type: "bar",
_id: "2",
},
},
];
request.post(url, {
body: things.map(JSON.stringify).join("\n") + "\n"
}, (err, response) => {
if (err) return console.error(err);
console.log(response.statusCode);
});