接口操作-查询参数
处理传递给 接口定义 节点的查询参数。
接口路由访问规则参考 接口操作-创建接口
问题背景
获取传递给 接口定义 节点的查询参数。比如 获取如下访问连接中的 name 参数
https://192.168.108.251:8080/prod-api/noco-instance/stotest/public/hello-query?name=Yelink
解决方案
使用 接口定义 节点发送消息的 msg.req.query 属性来访问参数。
示例

示例JSON
[{"id":"b34dd1af.4cb23","type":"template","z":"65b5dbf44a0ca401","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n <head></head>\n <body>\n <h1>Hello {{req.query.name}}!</h1>\n </body>\n</html>","x":490,"y":500,"wires":[["a04b663d77a76dee"]]},{"id":"1052941d.efad6c","type":"http in","z":"65b5dbf44a0ca401","name":"","url":"/hello-query","method":"get","upload":false,"swaggerDoc":"","advancedoptions":false,"apiAuth":"public","x":280,"y":500,"wires":[["b34dd1af.4cb23","12b0ec6da0bee732"]]},{"id":"12b0ec6da0bee732","type":"debug","z":"65b5dbf44a0ca401","logName":"日志输出","active":true,"tosidebar":true,"console":true,"tostatus":false,"complete":"req.query","targetType":"msg","statusVal":"","statusType":"auto","logLevel":"info","dataType":"field","format":"handlebars","syntax":"mustache","template":"输出日志: payload 值为 {{payload}}","output":"str","x":490,"y":580,"wires":[]},{"id":"a04b663d77a76dee","type":"http response","z":"65b5dbf44a0ca401","name":"接口响应","statusCode":"","headers":{},"commonTemplate":false,"responseCode":0,"responseCodeType":"num","responseData":"payload","responseDataType":"msg","responseMsg":"success","responseMsgType":"str","x":700,"y":500,"wires":[]}]
运行结果
浏览器访问返回:https://192.168.108.251:8080/prod-api/noco-instance/stotest/public/hello-query?name=Yelink

控制流接收参数输出:

msg.req.query 属性是每个查询参数的键/值对的对象。
在上面的例子中,对 /prod-api/noco-instance/stotest/public/hello-query?name=Yelink 的请求会包含以下内容的属性:
{
"name": "Yelink"
}
如果有多个同名的查询参数,它们将以数组的形式提供。例如,/prod-api/noco-instance/stotest/public/hello-query?name=Yelink&name=工业魔方&name=把制造企业带入数字化新世界:
{
"name": ["Yelink", "工业魔方", "把制造企业带入数字化新世界"]
}
