2017-06-21 125 views
0

我需要使用節點request圖書館,身體會包含原始數據如下作出POST請求的原始數據:發佈使用節點請求庫還包括換行符

{ "delete" : { "_index" : "foo", "_type" : "bar", "_id" : "1" } } 
{ "delete" : { "_index" : "foo", "_type" : "bar", "_id" : "2" } } 
\n 

請注意,我必須包括換行符在最後一個對象結束後,我只是加了\n來說明這一點。

我已經使用了請求庫來開發大量的時間,但是對於正常情況下的單個JSON對象。

在這種情況下,它的倍數,並且每個發送到端點時都需要在單獨的一行上,我需要點擊。

我很努力找出在提供給請求調用的選項對身體PARAM使用什麼

有人能指出我在正確的方向嗎?

+0

只要將要發送的字符串作爲正文傳遞即可。如果你需要更多的幫助,你必須分享你的代碼。 – smarx

回答

1

下面是一些工作代碼,其中包括將對象數組轉換爲帶有換行符的換行符分隔的JSON。它還顯示瞭如何使用request庫在POST請求中發送原始字符串。希望這些事情之一涵蓋你遇到的問題。如果沒有,請澄清。

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); 
});