执行GET请求和处理响应数据

Uncategorized
1.6k words

执行GET请求和处理响应数据

引言

  • 文档目的
    在Camunda中使用 service task 中的 http-connector 执行 GET 请求并处理响应数据

功能或技巧概述

  • 功能或技巧简介
  • 适用场景
    • 发送GET请求外部系统并处理响应

具体实现

  1. 定义HTTP Connector:
    在Camunda的BPMN流程图中,添加一个HTTP Connector任务。在任务的属性面板中,配置HTTP Connector的基本信息,包括URL、请求方法(GET)、请求头、请求体等。
    Alt text

    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>
  2. 处理响应数据:
    在HTTP Connector任务的输出参数中,定义一个变量来接收响应数据。您可以选择将响应数据存储在流程变量中,以供后续的任务或流程实例使用。

    1
    2
    var repBody = connector.getVariable('response');
    S(repBody)
  3. 使用响应数据:
    在接收到HTTP请求的响应后,您可以在后续的任务或服务任务中使用响应数据,例如数据处理、条件判断等。