Node-RED:关联 HTTP 请求和响应
Node-RED: associate HTTP request and response
我正在使用(尝试使用)标准的 http-request 节点来查询网站。不幸的是,该站点的答复不包括原始请求信息。由于可能有多个请求运行,如何正确关联请求和响应?
也许我只是用错了,或者我没弄对?在经典的编程环境中,句柄将用于此。
2、请求来自另一个处理任务,它用于扩充现有信息。我假设我必须使用上下文存储来临时存储信息,直到请求通过响应完成?
(背景:我通过HTTP定期请求一个地名列表——这很容易。为了在地图上显示它们,我需要为每个地方请求一个反向地理编码服务来获取坐标。缓存已经解决的地方也是可取的;使用(持久的)上下文存储将提供这一点。)
http-request
节点将输出与传递给它的相同的 msg
。
例如如果你传入一个看起来像这样的 msg
对象:
{
topic: "foo",
payload:{
name: "Ben"
},
counter: 99
}
并且 http-request 节点设置为将 msg.payload 作为参数传递给请求 URL,(假设 http 服务器 return "Hello [name]" ) 输出 msg
对象将如下所示:
{
topic: "foo",
payload:"Hello Ben",
counter: 99
}
如您所见,topic
和 counter
字段保持原样。您可以使用这种方法在 msg
通过流程时将您想要的任何元数据附加到它。如果您有与给定不直接相关的状态信息 msg
,那么上下文是存储它的正确位置。
所有表现良好的节点都应始终输出输入的更新版本 msg
。
我正在使用(尝试使用)标准的 http-request 节点来查询网站。不幸的是,该站点的答复不包括原始请求信息。由于可能有多个请求运行,如何正确关联请求和响应?
也许我只是用错了,或者我没弄对?在经典的编程环境中,句柄将用于此。
2、请求来自另一个处理任务,它用于扩充现有信息。我假设我必须使用上下文存储来临时存储信息,直到请求通过响应完成?
(背景:我通过HTTP定期请求一个地名列表——这很容易。为了在地图上显示它们,我需要为每个地方请求一个反向地理编码服务来获取坐标。缓存已经解决的地方也是可取的;使用(持久的)上下文存储将提供这一点。)
http-request
节点将输出与传递给它的相同的 msg
。
例如如果你传入一个看起来像这样的 msg
对象:
{
topic: "foo",
payload:{
name: "Ben"
},
counter: 99
}
并且 http-request 节点设置为将 msg.payload 作为参数传递给请求 URL,(假设 http 服务器 return "Hello [name]" ) 输出 msg
对象将如下所示:
{
topic: "foo",
payload:"Hello Ben",
counter: 99
}
如您所见,topic
和 counter
字段保持原样。您可以使用这种方法在 msg
通过流程时将您想要的任何元数据附加到它。如果您有与给定不直接相关的状态信息 msg
,那么上下文是存储它的正确位置。
所有表现良好的节点都应始终输出输入的更新版本 msg
。