当需要与另一个 web 系统进行交互时,可以使用 HTTP 请求节点。该节点在执行时会根据配置向对应的地址发出一个 HTTP 请求,可以携带 JSON 或 application/x-www-form-urlencoded 格式的数据,完成与外部系统的数据交互。
如果对 Postman 这类请求发送工具比较熟悉,那么可以很快掌握 HTTP 请求节点的用法。与这些工具不同的是,HTTP 请求节点中各项参数均可使用当前流程中的上下文变量,可以与当前系统的业务处理有机结合起来。
内置插件,无需安装。
在工作流配置界面中,点击流程中的加号(“+”)按钮,添加“HTTP 请求”节点:


可选的 HTTP 请求方法:GET、POST、PUT、PATCH 和 DELETE。
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 支持表单数据的键值对,数据类型选择文件对象时可以上传文件。文件仅能通过变量选择上下文中已存在的文件对象,如对文件表查询的结果,或关联文件表的关系数据。
选择文件数据时,需要确保变量对应的是单个文件对象,而不是一个文件列表(在对多关系查询时,关系字段的值会是一个数组)。
当请求长时间未响应时,通过超时设置取消该请求的执行。请求超时后会以失败状态提前终止当前流程。
请求节点会以标准 HTTP 状态码的 200~299 之间(含)的状态认为是成功状态,其他的均认为是失败。如勾选了“忽略失败的请求并继续工作流”选项,则当请求失败后仍继续执行后续的其他流程节点。
HTTP 请求的响应结果可以通过 JSON 解析 节点进行解析,以便后续节点使用。
自 v1.0.0-alpha.16 版本起,请求节点结果响应中的三个部分可以分别作为变量使用:

其中响应状态码通常是数字形式的标准的 HTTP 状态码,如 200、403 等(具体由服务提供方给出)。
响应头(Response headers)为 JSON 格式,包括 JSON 格式的响应数据,仍需要使用 JSON 节点节点解析后使用。
例如我们可以使用请求节点来对接云平台发送通知短信,以阿里云发送短信接口为例配置如下(相关参数需自行查阅文档适配):

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