node-red部署起来后自带一套操作ui,但是有些时候并不能满足我们要求,我们希望它能够通过被其他系统远程调用,动态的生成一套完整的流,类似这样
要求:
1.从java或其他语言的web后端,通过http请求调用node-red服务端添加流的接口
2.node-red服务端对外提供api接口,供外部程序调用
解决方案:
node-red服务端js添加对外接口
app.post('/iot/updateflow', function (req, res){
var info=req.body;
var id=info.productId;
var flow={
label : info.label,
nodes : JSON.parse(info.data)
}
if(!RED.nodes.getNode(id)){
RED.nodes.addFlow(flow);
}else{
RED.nodes.updateFlow(id,flow)
}
res.status(200);
var result={
code:200,
success:true,
message:"更新成功!"
}
res.json(result);
})
外部程序直接通过http请求调用