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/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/de/subway_surfers/vpr_app/InhaltsstoffeFilternController.java b/src/main/java/de/subway_surfers/vpr_app/InhaltsstoffeFilternController.java index 6987f9f..2716160 100644 --- a/src/main/java/de/subway_surfers/vpr_app/InhaltsstoffeFilternController.java +++ b/src/main/java/de/subway_surfers/vpr_app/InhaltsstoffeFilternController.java @@ -1,5 +1,7 @@ -// Programmiert von Samuel Wolff -// Noch nicht getestet +/** + * @author Samuel Wolff + * noch nicht getestet + */ // TODO Alle Zutaten einlesen und Listview mit zutatListView Objekten füllen package de.subway_surfers.vpr_app; diff --git a/src/main/java/de/subway_surfers/vpr_app/RechnungFilterViewController.java b/src/main/java/de/subway_surfers/vpr_app/RechnungFilterViewController.java index b559e71..3c05070 100644 --- a/src/main/java/de/subway_surfers/vpr_app/RechnungFilterViewController.java +++ b/src/main/java/de/subway_surfers/vpr_app/RechnungFilterViewController.java @@ -1,4 +1,7 @@ -// Programmiert von Samuel Wolff +/** + * @author Samuel Wolff + * noch nicht getestet + */ // Noch nicht getestet package de.subway_surfers.vpr_app; diff --git a/src/main/java/de/subway_surfers/vpr_app/zutatListViewController.java b/src/main/java/de/subway_surfers/vpr_app/zutatListViewController.java index 389af20..c7feeb8 100644 --- a/src/main/java/de/subway_surfers/vpr_app/zutatListViewController.java +++ b/src/main/java/de/subway_surfers/vpr_app/zutatListViewController.java @@ -1,5 +1,8 @@ // Programmiert von Samuel Wolff -// Noch nicht getestet +/** + * @author Samuel Wolff + * noch nicht getestet + */ // TODO Sobald Zutat-Klasse implementiert ist Kommentare entfernen package de.subway_surfers.vpr_app; 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; diff --git a/src/main/resources/de/subway_surfers/vpr_app/inhaltsstoffe_filtern-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/inhaltsstoffe_filtern-view.fxml index 36a47cf..2a84094 100644 --- a/src/main/resources/de/subway_surfers/vpr_app/inhaltsstoffe_filtern-view.fxml +++ b/src/main/resources/de/subway_surfers/vpr_app/inhaltsstoffe_filtern-view.fxml @@ -1,6 +1,6 @@ - diff --git a/src/main/resources/de/subway_surfers/vpr_app/rechnungFilter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/rechnungFilter-view.fxml index 85a3231..3f1ed82 100644 --- a/src/main/resources/de/subway_surfers/vpr_app/rechnungFilter-view.fxml +++ b/src/main/resources/de/subway_surfers/vpr_app/rechnungFilter-view.fxml @@ -1,7 +1,7 @@ diff --git a/src/main/resources/de/subway_surfers/vpr_app/zutatListview-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/zutatListview-view.fxml index 59e74dd..1c09f16 100644 --- a/src/main/resources/de/subway_surfers/vpr_app/zutatListview-view.fxml +++ b/src/main/resources/de/subway_surfers/vpr_app/zutatListview-view.fxml @@ -1,7 +1,7 @@