Insights Hub Visual Flow Creator (VFC) – 向 VFC HTTP In 节点传入参数并获取值

2024-11-28T11:08:39.000+0800
Applications

摘要

如何向 VFC HTTP In 节点传入参数并获取值?


详细信息

一、背景

在客户端调用 VFC HTTP In 节点生成的 URL 地址时,如何将参数传递到 HTTP In 节点里,并在 VFC 流中获取参数的值?

二、参数传递方式

2.1 GET 请求

2.1.1 节点配置

针对 GET 方式的 HTTP 请求,URL 传递参数的方式是作为查询参数传递的;如下述 GET 请求 URL:

https://suppiot2-visualflowcreator.xxxxxx.com/httpin/suppiot2/httpin/test?from=123&to=234

在上述请求中,fromto 作为 GET 请求的查询参数。

在 VFC 中,对应的 HTTP In 节点配置如下:

2.1.2 VFC 中获取参数值

用户需要在 HTTP In 节点后面添加一个 function 节点,通过在 function 节点里面编写 JavaScript 代码来获取传入到 HTTP In 节点里的参数值:

const reqParam = msg.req.query
let from = parseInt(reqParam.from)
let to = parseInt(reqParam.to)

msg.payload = {
    from, to
}

return msg

msg.req.query 对象里储存了传递进来的参数。

2.1.3 打印请求对象

我们同时可以添加一个「debug 节点」来打印 HTTP In 节点接收到的具体参数信息。

可以看到下图中我们通过打印“整个 msg 对象”来查看 HTTP In 节点接收到的所有查询参数:

2.2 POST (PUT / DELETE) 请求

同理,针对其它方式的 HTTP 请求,用户可以在 HTTP In 节点配置不同的请求方式:

对于 POST 一类的非 GET 请求,请求参数大部分是放在请求体(Body)里的。用户可以参考章节:“2.1.3 打印请求对象”里的介绍,通过 debug 节点打印 msg 对象,来查看 POST 请求里的 body 参数。

2.2.1 节点配置

2.2.2 传递参数

在 Postman 中我们调用该 POST 请求:

2.2.3 打印请求参数并获取请求 body

修改 function 节点的代码来获取请求 body 的参数:

const body = msg.req.body

msg.payload = {
    body
}

return msg

通过打印 msg 节点,我们可以看到 POST 请求中的 body 参数此时不为空:

知识库文章 ID# KB000155790_ZH_CN

内容

摘要详细信息

关联组件

Insights Hub Visual Flow Creator