数据中台
接口安全
认证
通讯安全
规则执行
通用组件
通知器
标准化字段校验
定时器
HTTP调用
Rabbit消息发布
脚本可用JAVA库
【必读】上下文
本文档使用 MrDoc 发布
-
+
首页
HTTP调用
## HTTP调用 ### 用途描述 该组件是一个远程调用组件(同步),用于在 LiteFlow 规则链中发起 HTTP 请求,调用外部服务并获取结果。它支持指定请求的 URL、方法(GET/POST)、传递参数,并将响应结果存储到上下文中以供后续组件使用。 ### 组件名称 rpc ### 组件参数 | 参数名 | 参数类型 | 是否必须 | 参数描述 | | --- | --- | --- | --- | | url | String | 是 |表示要调用的服务地址(需符合 http://... 或 https://... 格式)。 | | method | String | 否 |未填时默认为 POST | | data | Object | 否 |需推送的业务数据(如流程中间结果、状态信息等),最终会被序列化为 JSON 发送。未填时,将流程的执行结果作为此参数 | | result | String | 否 |未填时默认使用 default_http_result 作为 key 存储响应结果| ### 使用示例 #### 绑定静态数据 ``` THEN(a, http.bind("url", "https://www.xxx.com").bind("data", "{\"test\":123}"), b) ``` 需要注意的是这里的data参数必须是==转义==后的JSON 使用绑定静态数据的方式时,可多次使用notifier进行通知 规则(EL表达式)如下: ``` THEN(a, http.bind("url", "https://www.xxx.com").bind("data", "{\"test\":123}").bind("url", "https://www.yyy.com").bind("data", "{\"test\":456}").bind("url", "https://www.zzz.com").bind("data", "{\"test\":789}"), b) ``` #### 绑定动态数据 所谓动态数据就是在编写规则EL的时候无法确定的,bind一个表达式,LiteFlow会根据你bind的表达式去上下文中去搜索所需要的数据。 bind动态数据,value必须为一个表达式,且格式为==${表达式}==。 规则(EL表达式)如下: ``` THEN(a, http .bind("url","${requestData.get('httpUrl').asText()}") .bind("data","${requestData.get('httpData').asText()}") ,c) ``` 在请求参数中加入 rpcUrl、rpcData: ```json { "mode": "2", "ad": "123", "httpUrl": "https://www.xxx.com", "httpData": "{\"test\":123}" } ```
admin
2025年8月29日 17:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码