我的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#
的帖子请求时识别出来,存储DeviceID,typeID和serial#的值
我如何对这两个请求做同样的事情,还要注意设备和类型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
答案 0 :(得分:1)
虽然没有提及,但我假设你正在使用带有Node的ExpressJS,如果你没有使用Express,你就可以轻松地实现这一点。
您可以轻松使用路线参数的内置功能。</ p>
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