接口操作-JSON参数处理
POST 请求发送 JSON 数据
接口路由访问规则参考 接口操作-创建接口
问题背景
POST 请求发送 JSON 数据
解决方案
使用 接口定义 节点监听 POST 请求,并将 Content-Type 设置为 application/json。通过 msg.payload 对象的属性来访问解析后的 JSON 数据。
示例
该流程包含三个节点:
接口定义节点: 配置为监听 POST 请求到 /public/hello-json。模板转化节点: 使用 Mustache 语法生成 HTML 响应。它通过{{ payload.name }}访问 msg.payload 中 name 属性的值。接口响应节点: 将 Template 节点生成的 HTML 作为响应发送回客户端。

示例JSON
[{"id":"67860691e046ff7a","type":"http in","z":"65b5dbf44a0ca401","name":"","url":"/hello-json","method":"post","upload":false,"swaggerDoc":"","advancedoptions":true,"apiAuth":"public","x":260,"y":2500,"wires":[["3bd288f1ce300383","61f1b905b2d22c1f"]]},{"id":"3bd288f1ce300383","type":"template","z":"65b5dbf44a0ca401","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n <head></head>\n <body>\n <h1>Hello {{ payload.name }}!</h1>\n </body>\n</html>","x":510,"y":2500,"wires":[["0ec983933422b3cc"]]},{"id":"0ec983933422b3cc","type":"http response","z":"65b5dbf44a0ca401","name":"接口响应","statusCode":"","headers":{},"commonTemplate":false,"responseCode":0,"responseCodeType":"num","responseData":"payload","responseDataType":"msg","responseMsg":"success","responseMsgType":"str","x":780,"y":2500,"wires":[]},{"id":"61f1b905b2d22c1f","type":"debug","z":"65b5dbf44a0ca401","logName":"日志输出","active":true,"tosidebar":true,"console":true,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","logLevel":"info","dataType":"field","format":"handlebars","syntax":"mustache","template":"输出日志: payload 值为 {{payload}}","output":"str","x":510,"y":2600,"wires":[]}]
运行结果

当 接口定义 节点收到 Content-Type 头部设置为 application/json 的请求时,它会解析请求体中的 JSON 数据,并将数据作为 msg.payload 的属性提供。例如:

{
"name": "Nick"
}