diff --git a/src/main/java/RestAPISchnittstelle/IRestAPI.java b/src/main/java/RestAPISchnittstelle/IRestAPI.java new file mode 100644 index 0000000..fc6ffaf --- /dev/null +++ b/src/main/java/RestAPISchnittstelle/IRestAPI.java @@ -0,0 +1,40 @@ +/** + * @author Samuel Wolff + * noch nicht getestet + * + * TODO Json hinzufügen + */ + +package RestAPISchnittstelle; + +public interface IRestAPI { + + // region Get + + void get(String controllerName); + + void get (String controllerName, int id); + + void get (String controllerName, int id, boolean bezahlt); + + //endregion + + // region put + + void put (String controllerName, int id, String jsonData); + + // endregion + + // region POST + + void post (String controllerName, String jsonData); + + // endregion + + // region DELETE + + void delete(String controllerName, int id); + + // endregion + +} diff --git a/src/main/java/RestAPISchnittstelle/RestAPI.java b/src/main/java/RestAPISchnittstelle/RestAPI.java deleted file mode 100644 index a901eba..0000000 --- a/src/main/java/RestAPISchnittstelle/RestAPI.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * @author Samuel Wolff - * noch nicht getestet - */ - -package RestAPISchnittstelle; - -public interface RestAPI { - - - - -} diff --git a/src/main/java/RestAPISchnittstelle/RestApiClient.java b/src/main/java/RestAPISchnittstelle/RestApiClient.java new file mode 100644 index 0000000..1805d87 --- /dev/null +++ b/src/main/java/RestAPISchnittstelle/RestApiClient.java @@ -0,0 +1,152 @@ +/** + * @author Samuel Wolff + * noch nicht getestet + * TODO FERTIG MACHEN + */ + +package RestAPISchnittstelle; + +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.nio.charset.StandardCharsets; + +public class RestApiClient implements IRestAPI{ + + private final String urlBase = "https://pbg2h22awo.web.pb.bib.de/VPR_Schnittstelle/VPR_Schnittstelle/restAPI.php"; + + private final HttpClient client; + + public RestApiClient(){ + client = HttpClient.newHttpClient(); + } + + + + public static void main(String[] args){ + + new RestApiClient().get("Kind", 2); + + } + + /** + * @param controllerName + */ + @Override + public void get(String controllerName) { + URI apiUri = URI.create(String.format("%s/%s", urlBase, controllerName)); + + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .GET() + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Response Body: " + httpResponse.body()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * @param controllerName + * @param id + */ + @Override + public void get(String controllerName, int id) { + URI apiUri = URI.create(String.format("%s/%s/%s", urlBase, controllerName, id)); + + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .GET() + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Response Body: " + httpResponse.body()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * @param controllerName + * @param id + * @param bezahlt + */ + @Override + public void get(String controllerName, int id, boolean bezahlt) { + URI apiUri = URI.create(String.format("%s/%s?%s&%s", urlBase, controllerName, id, bezahlt)); + + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .GET() + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Response Body: " + httpResponse.body()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * @param controllerName + * @param id + */ + @Override + public void put(String controllerName, int id, String jsonData) { + + URI apiUri = URI.create(String.format("%s/%s/%s", urlBase,controllerName, id)); + + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .header("Content-Type", "application/json") + .PUT(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8)) + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Response Body: " + httpResponse.body()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * @param controllerName + */ + @Override + public void post(String controllerName, String jsonData) { + + } + + /** + * @param controllerName + * @param id + */ + @Override + public void delete(String controllerName, int id) { + + } + +} diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index f8b6431..336a917 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,6 +1,7 @@ module de.subway_surfers.vpr_app { requires javafx.controls; requires javafx.fxml; + requires java.net.http; opens de.subway_surfers.vpr_app to javafx.fxml;