caixiaofeng пре 6 месеци
родитељ
комит
3a82d15026

+ 22 - 14
flow-workflow/flow-workflow-entity/src/main/java/com/flow/entity/node/HttpNode.java

@@ -1,6 +1,9 @@
 package com.flow.entity.node;
 
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.flow.common.core.util.ApplicationContextUtil;
 import com.flow.enums.TimeUnitEnum;
 import com.google.common.collect.Lists;
 import lombok.Data;
@@ -17,8 +20,8 @@ import java.util.Objects;
 public class HttpNode extends Node {
     private String url;
     private String method;
-    private Map<String, Object> headers;
-    private Map<String, Object> requestBody;
+    private List<Map<String, String>> headers;
+    private List<Map<String, String>> body;
     private Long requestTimeout = 0L;
     private Integer retryCount;
     private TimeUnitEnum unit = TimeUnitEnum.MINUTE;
@@ -61,18 +64,23 @@ public class HttpNode extends Node {
         methodExtension.setFieldName("requestMethod");
         methodExtension.setStringValue(this.method);
         fieldExtensions.add(methodExtension);
-        if (CollectionUtils.isNotEmpty(this.headers)) {
-            FieldExtension headerExtension = new FieldExtension();
-            headerExtension.setFieldName("requestHeaders");
-            headerExtension.setExpression(this.headers.toString());
-            fieldExtensions.add(headerExtension);
-        }
-        if (CollectionUtils.isNotEmpty(this.requestBody)) {
-            FieldExtension bodyExtension = new FieldExtension();
-            bodyExtension.setFieldName("requestBody");
-            bodyExtension.setExpression(this.requestBody.toString());
-            fieldExtensions.add(bodyExtension);
-        }
+        try {
+            ObjectMapper objectMapper = ApplicationContextUtil.getBean(ObjectMapper.class);
+            if (CollectionUtils.isNotEmpty(this.headers)) {
+                String headers = objectMapper.writeValueAsString(this.headers);
+                FieldExtension headerExtension = new FieldExtension();
+                headerExtension.setFieldName("requestHeaders");
+                headerExtension.setExpression(headers);
+                fieldExtensions.add(headerExtension);
+            }
+            if (CollectionUtils.isNotEmpty(this.body)) {
+                String requestBody = objectMapper.writeValueAsString(this.body);
+                FieldExtension bodyExtension = new FieldExtension();
+                bodyExtension.setFieldName("requestBody");
+                bodyExtension.setExpression(requestBody);
+                fieldExtensions.add(bodyExtension);
+            }
+        } catch (JsonProcessingException ignored) {}
         FieldExtension timeoutExtension = new FieldExtension();
         timeoutExtension.setFieldName("requestTimeout");
         timeoutExtension.setStringValue(this.requestTimeout.toString());