diff --git a/app/server/appsmith-interfaces/pom.xml b/app/server/appsmith-interfaces/pom.xml
index c955fad13a..b6bb5eb1ba 100644
--- a/app/server/appsmith-interfaces/pom.xml
+++ b/app/server/appsmith-interfaces/pom.xml
@@ -64,6 +64,12 @@
1.18.8
provided
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.8
+ compile
+
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionConfiguration.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionConfiguration.java
index 935f5c11d6..fa4dc9ae2b 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionConfiguration.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionConfiguration.java
@@ -1,5 +1,6 @@
package com.appsmith.external.models;
+import com.fasterxml.jackson.databind.JsonNode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@@ -9,6 +10,7 @@ import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.http.HttpMethod;
import java.util.List;
+import java.util.Map;
@Getter
@Setter
@@ -29,7 +31,7 @@ public class ActionConfiguration {
String path;
List headers;
List queryParameters;
- JSONObject body;
+ Map body;
HttpMethod httpMethod;
// DB action fields
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionExecutionResult.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionExecutionResult.java
new file mode 100644
index 0000000000..4ecb3b9fec
--- /dev/null
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ActionExecutionResult.java
@@ -0,0 +1,18 @@
+package com.appsmith.external.models;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+@NoArgsConstructor
+public class ActionExecutionResult {
+
+ String statusCode;
+ JsonNode headers;
+ JsonNode body;
+}
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Property.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Property.java
index 9fa290ec1a..296584a207 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Property.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Property.java
@@ -2,9 +2,11 @@ package com.appsmith.external.models;
import lombok.Getter;
import lombok.Setter;
+import lombok.ToString;
@Getter
@Setter
+@ToString
public class Property {
String key;
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ResourceConfiguration.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ResourceConfiguration.java
index 0596bd2186..123e13207d 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ResourceConfiguration.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/ResourceConfiguration.java
@@ -21,4 +21,6 @@ public class ResourceConfiguration {
List properties;
+ //For REST API
+ List headers;
}
diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/plugins/PluginExecutor.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/plugins/PluginExecutor.java
index df7314e645..47edea3625 100644
--- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/plugins/PluginExecutor.java
+++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/plugins/PluginExecutor.java
@@ -1,14 +1,15 @@
package com.appsmith.external.plugins;
import com.appsmith.external.models.ActionConfiguration;
+import com.appsmith.external.models.ActionExecutionResult;
import com.appsmith.external.models.Param;
import com.appsmith.external.models.ResourceConfiguration;
import org.pf4j.ExtensionPoint;
-import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
import java.util.List;
public interface PluginExecutor extends ExtensionPoint {
- Flux