[英]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.