具有资源 ID 的 Node-RED 和 REST API
Node-RED and REST APIs with resource id's
我正在尝试使用 Node-RED 开发基于 REST 的 API。例如,GET 将是:
http://myurl.com/widgets/"widget-id"
其中 "widget-id" 将是 123。我可以使用查询字符串让它工作。但是,我似乎无法弄清楚要在 http 输入节点上放置什么以允许传递资源 ID。我错过了一些明显的东西吗?关于我需要做什么的任何想法?
如果您获得所有小部件:
router.get('/widgets/', function(data){});
如果只有一项(例如 - 123):
router.get('/widgets/:id(\d+)', function(data){});
在您的浏览器中,或者如果您使用 POSTMAN,请输入 http url: http://youredomain.com/widgets/or http://youredomain.com/widgets/123
另一个答案几乎正确,只是需要调整 Node-RED
如果将 HTTP Input 节点中的 URL 设置为 /widget/:id
您可以在链接到 HTTP Input 节点的功能节点中访问小部件 ID,如下所示:
var id = msg.req.params.id;
我正在尝试使用 Node-RED 开发基于 REST 的 API。例如,GET 将是:
http://myurl.com/widgets/"widget-id"
其中 "widget-id" 将是 123。我可以使用查询字符串让它工作。但是,我似乎无法弄清楚要在 http 输入节点上放置什么以允许传递资源 ID。我错过了一些明显的东西吗?关于我需要做什么的任何想法?
如果您获得所有小部件:
router.get('/widgets/', function(data){});
如果只有一项(例如 - 123):
router.get('/widgets/:id(\d+)', function(data){});
在您的浏览器中,或者如果您使用 POSTMAN,请输入 http url: http://youredomain.com/widgets/or http://youredomain.com/widgets/123
另一个答案几乎正确,只是需要调整 Node-RED
如果将 HTTP Input 节点中的 URL 设置为 /widget/:id
您可以在链接到 HTTP Input 节点的功能节点中访问小部件 ID,如下所示:
var id = msg.req.params.id;