执行GET请求和处理响应数据
引言
- 文档目的 在Camunda中使用 service task 中的 http-connector 执行 GET 请求并处理响应数据
功能或技巧概述
- 功能或技巧简介
- 适用场景
- 发送GET请求外部系统并处理响应
具体实现
定义HTTP Connector:
在Camunda的BPMN流程图中,添加一个HTTP Connector任务。在任务的属性面板中,配置HTTP Connector的基本信息,包括URL、请求方法(GET)、请求头、请求体等。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22<bpmn:serviceTask id="Activity_0c7b53j" name="request">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
<camunda:inputParameter name="headers">
<camunda:map>
<camunda:entry key="Content-Type">application/json</camunda:entry>
</camunda:map>
</camunda:inputParameter>
<camunda:inputParameter name="method">GET</camunda:inputParameter>
<camunda:inputParameter name="url">https://dog.ceo/api/breeds/image/random</camunda:inputParameter>
<camunda:outputParameter name="responseBody">
<camunda:script scriptFormat="JavaScript">var repBody = connector.getVariable('response');
S(repBody)</camunda:script>
</camunda:outputParameter>
</camunda:inputOutput>
<camunda:connectorId>http-connector</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1g2apc4</bpmn:incoming>
<bpmn:outgoing>Flow_17iw7vx</bpmn:outgoing>
</bpmn:serviceTask>处理响应数据:
在HTTP Connector任务的输出参数中,定义一个变量来接收响应数据。您可以选择将响应数据存储在流程变量中,以供后续的任务或流程实例使用。1
2var repBody = connector.getVariable('response');
S(repBody)使用响应数据:
在接收到HTTP请求的响应后,您可以在后续的任务或服务任务中使用响应数据,例如数据处理、条件判断等。