-
Notifications
You must be signed in to change notification settings - Fork 0
Java
PiotrFerenc edited this page May 14, 2024
·
1 revision
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;
class Parameters {
@JsonProperty("ConsoleText")
public String consoleText;
public Parameters(String consoleText) {
this.consoleText = consoleText;
}
}
class TaskItem {
@JsonProperty("Sequence")
public int sequence;
@JsonProperty("Name")
public String name;
@JsonProperty("Action")
public String action;
public TaskItem(int sequence, String name, String action) {
this.sequence = sequence;
this.name = name;
this.action = action;
}
}
class RequestPayload {
@JsonProperty("Parameters")
public Parameters parameters;
@JsonProperty("Tasks")
public TaskItem[] tasks;
public RequestPayload(Parameters parameters, TaskItem[] tasks) {
this.parameters = parameters;
this.tasks = tasks;
}
}
public class Main {
public static void main(String[] args) {
try {
HttpClient client = HttpClient.newHttpClient();
String url = "http://localhost:5000/execute";
Parameters parameters = new Parameters("hallo word");
TaskItem[] tasks = { new TaskItem(1, "log", "console") };
RequestPayload payload = new RequestPayload(parameters, tasks);
ObjectMapper objectMapper = new ObjectMapper();
String jsonContent = objectMapper.writeValueAsString(payload);
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI(url))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonContent, StandardCharsets.UTF_8))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println("Response: " + response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}