跳到主要内容

接口操作-表单参数处理

使用 POST 请求发送表单数据

接口路由访问规则参考 接口操作-创建接口

问题背景

使用 POST 请求发送表单数据

解决方案

使用 接口定义 节点监听 POST 请求,并将 Content-Type 设置为 application/x-www-form-urlencoded。通过 msg.payload 对象的属性来访问表单数据。

示例

该流程包含三个节点:

  • 接口定义 节点: 配置为监听 POST 请求到 /public/hello-form。
  • 模板转化 节点: 使用 Mustache 语法生成 HTML 响应。它通过 {{ payload.name }} 访问 msg.payload 中 name 属性的值。
  • 接口响应 节点: 将 Template 节点生成的 HTML 作为响应发送回客户端。

http-in-post-form-data

示例JSON

[{"id":"5b98a8ac.a46758","type":"http in","z":"65b5dbf44a0ca401","name":"","url":"/hello-form","method":"post","upload":false,"swaggerDoc":"","advancedoptions":true,"apiAuth":"public","x":260,"y":2200,"wires":[["bba61009.4459f"]]},{"id":"bba61009.4459f","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":490,"y":2200,"wires":[["ddfd17998da9e87b"]]},{"id":"ddfd17998da9e87b","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":2200,"wires":[]}]

运行结果

使用 apifox 发送post 请求访问 /public/hello-form: https://192.168.108.251:8080/prod-api/noco-instance/stotest/public/hello-form

http-in-post-form-data-result

接口定义 节点收到此类请求时,它会解析请求体,并将表单数据作为 msg.payload 的属性提供:

{
"name": "Nick"
}

http-in-post-form-data-payload