HTTP 请求

工作流:HTTP 请求节点社区版+

介绍

当需要与另一个 web 系统进行交互时,可以使用 HTTP 请求节点。该节点在执行时会根据配置向对应的地址发出一个 HTTP 请求,可以携带 JSON 或 application/x-www-form-urlencoded 格式的数据,完成与外部系统的数据交互。

如果对 Postman 这类请求发送工具比较熟悉,那么可以很快掌握 HTTP 请求节点的用法。与这些工具不同的是,HTTP 请求节点中各项参数均可使用当前流程中的上下文变量,可以与当前系统的业务处理有机结合起来。

安装

内置插件,无需安装。

创建节点

在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“HTTP 请求”节点:

HTTP 请求_添加

节点配置

HTTP请求节点_节点配置

请求方法

可选的 HTTP 请求方法:GETPOSTPUTPATCHDELETE

请求地址

HTTP 服务的 URL,需要包含协议部分(http://https://),推荐使用 https://

请求数据格式

即请求头中的 Content-Type,支持的格式见“请求体”部分。

请求头配置

请求 Header 部分的键值对,相关值可以使用流程上下文的变量。

提示

Content-Type 请求头,已通过请求数据格式配置,无需填写,覆盖无效。

请求参数

请求 query 部分的键值对,相关值可以使用流程上下文的变量。

请求体

请求的 Body 部分,根据 Content-Type 选择的不同,支持不同的格式。

application/json

支持标准的 JSON 格式的文本,可以通过文本编辑框右上角的变量按钮插入流程上下文中的变量。

提示

变量必须在 JSON 的字符串中使用,例如:{ "a": "{{$context.data.a}}" }

application/x-www-form-urlencoded

键值对格式,值可以使用流程上下文中的变量,包含变量时会作为字符串模板解析并拼接为最终的字符串值。

application/xml

支持标准的 XML 格式的文本,可以通过文本编辑框右上角的变量按钮插入流程上下文中的变量。

multipart/form-data v1.8.0+

支持表单数据的键值对,数据类型选择文件对象时可以上传文件。文件仅能通过变量选择上下文中已存在的文件对象,如对文件表查询的结果,或关联文件表的关系数据。

提示

选择文件数据时,需要确保变量对应的是单个文件对象,而不是一个文件列表(在对多关系查询时,关系字段的值会是一个数组)。

超时设置

当请求长时间未响应时,通过超时设置取消该请求的执行。请求超时后会以失败状态提前终止当前流程。

忽略失败

请求节点会以标准 HTTP 状态码的 200~299 之间(含)的状态认为是成功状态,其他的均认为是失败。如勾选了“忽略失败的请求并继续工作流”选项,则当请求失败后仍继续执行后续的其他流程节点。

使用响应结果

HTTP 请求的响应结果可以通过 JSON 解析 节点进行解析,以便后续节点使用。

v1.0.0-alpha.16 版本起,请求节点结果响应中的三个部分可以分别作为变量使用:

  • 响应状态码
  • 响应头
  • 响应数据

HTTP请求节点_响应结果使用

其中响应状态码通常是数字形式的标准的 HTTP 状态码,如 200403 等(具体由服务提供方给出)。

响应头(Response headers)为 JSON 格式,包括 JSON 格式的响应数据,仍需要使用 JSON 节点节点解析后使用。

示例

例如我们可以使用请求节点来对接云平台发送通知短信,以阿里云发送短信接口为例配置如下(相关参数需自行查阅文档适配):

HTTP请求节点_节点配置

工作流触发该节点执行时会以配置的内容调用阿里云的短信接口,请求成功的话将通过短信云服务发送一条短信。