簡體   English   中英

如何使用 expressjs 在一個 API 端點中執行多個 http POST 請求?

[英]How to do multiple http POST request in one API endpoint using expressjs?

我正在嘗試為 AgileCRM 構建expressjs API 端點。 對於我的應用程序目的,我需要在同一個 API 端點中發布多個請求,並且需要創建一個數組 [],這個數組將包裝我所有的 AgileCRM 用戶信息

另外,我正在使用包含body-parser express 4+

第一次嘗試

export const postSmsToTwilio = (request, response) => {
  let body = [];
  request.on('data', (chunk) => {
    body.push(chunk);
  }).on('end', () => {
    body = Buffer.concat(body).toString();
    response.end(body);
  });
}

第二次嘗試

let users = []
try {
  let obj = req.body;
  users.push(obj);
}
catch (error) {
  res.status(500).send(error)
}

注意:數據來自 AgileCRM,格式為text/plainapplication/json

我的最終目標是顯示用戶信息,如下所示:

[
  {
    "name": "As Md Habibullah",
    "phone": "+8615608807860",
    "email": "asmdhabibullah@yahoo.com",
    "car_brand": "Mercedes-Benz",
    "car_number": "256858"
  },
  {
    "name": "Filippo Masiero",
    "phone": "+393470927738",
    "email": "asmdhabibullah@yahoo.com",
    "car_brand": "Mercedes-Benz",
    "car_number": "25586458"
  },
  {
    "name": "Azad Ahmed",
    "phone": "+393470927738",
    "email": "asmdhabibullah@yahoo.com",
    "car_brand": "Mercedes-Benz",
    "car_number": "2566868"
  },
  {
    "name": "Md Musa",
    "phone": "+393470927738",
    "email": "asmdhabibullah@yahoo.com",
    "car_brand": "Mercedes-Benz",
    "car_number": "256858"
  }
]

可能嗎? 如果是這樣,請給我一個關於我該怎么做的建議。** 如果你給我一個建議,我將很高興。 謝謝@所有人

API 通過 1 個請求接受 1 個請求,您無法發送多個 POST 請求並獲得 1 個響應。

你需要:

  • 由您的前端提出多個請求並等待所有結果。

或者

  • 提出 1 個我們足夠參數的請求,讓您的背部知道您想要什么並返回您預期的結果(這是正確的解決方案)

編輯:

更改它以提出您的所有要求:

const promise1 = Promise.resolve(3);
const promise2 = 42;
const promise3 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, 'foo');
});

Promise.all([promise1, promise2, promise3]).then((values) => {
  console.log(values);
});
// expected output: Array [3, 42, "foo"]

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise/all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM