簡體   English   中英

如何在NodeJS中收聽未知請求

[英]how can I listen to an unknown request in NodeJS

我的Nodejs服務器將收到以下發布請求:

POST /v1/devices/deviceID/registrations/typeID/serial#

其中deviceID,typeID,serial#是變量且不相同

我確實使用以下內容弄清楚了這些變量是什么,但這並不是我正在尋找的最佳解決方案,因為還有其他請求具有相同的開始,例如/v1/devices/registrations/

app.post("/v1/devices/*", function (req, res) {
});

因此,主要的問題是,當您收到具有以下結構/v1/devices/deviceID/registrations/typeID/serial#的發布請求時,如何識別該ID,以存儲DeviceID,typeID和serial#的值

還應該如何針對這2個請求執行相同操作,還請注意設備ID和類型ID是變量

if the following is requested 
GET /v1/devices/<deviceID>/registrations/<typeID>
do something 
else if 
GET /v1/devices/<deviceID>/registrations/<typeID>?passesUpdatedSince=<tag>
do something else 

盡管未提及,但我假設您將ExpressJS與Node一起使用,如果您不使用Express ,則可以輕松地實現它。

您可以輕松使用路由參數的內置功能。

http://expressjs.com/en/guide/routing.html

app.post("/v1/devices/:deviceID/registrations/:typeID/:serial", function (req, res) {
  var deviceId = req.params.deviceId;
  var typeId = req.params.typeId;
  var serial = req.params.serial;
});

因此,您無需全力以赴,可以為每個請求設計特定的路線。

您可以為第二個示例使用完全相同的方法,並可以訪問路由內的查詢參數,例如req.query.passesUpdatedSince

暫無
暫無

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

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