|
@@ -1,6 +1,9 @@
|
|
package com.flow.entity.node;
|
|
package com.flow.entity.node;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
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.flow.enums.TimeUnitEnum;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import lombok.Data;
|
|
import lombok.Data;
|
|
@@ -17,8 +20,8 @@ import java.util.Objects;
|
|
public class HttpNode extends Node {
|
|
public class HttpNode extends Node {
|
|
private String url;
|
|
private String url;
|
|
private String method;
|
|
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 Long requestTimeout = 0L;
|
|
private Integer retryCount;
|
|
private Integer retryCount;
|
|
private TimeUnitEnum unit = TimeUnitEnum.MINUTE;
|
|
private TimeUnitEnum unit = TimeUnitEnum.MINUTE;
|
|
@@ -61,18 +64,23 @@ public class HttpNode extends Node {
|
|
methodExtension.setFieldName("requestMethod");
|
|
methodExtension.setFieldName("requestMethod");
|
|
methodExtension.setStringValue(this.method);
|
|
methodExtension.setStringValue(this.method);
|
|
fieldExtensions.add(methodExtension);
|
|
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();
|
|
FieldExtension timeoutExtension = new FieldExtension();
|
|
timeoutExtension.setFieldName("requestTimeout");
|
|
timeoutExtension.setFieldName("requestTimeout");
|
|
timeoutExtension.setStringValue(this.requestTimeout.toString());
|
|
timeoutExtension.setStringValue(this.requestTimeout.toString());
|