Compare commits

..

2 Commits

Author SHA1 Message Date
4a97fee7e7 Erste Ansätze der HTTP-Client integration 2023-12-14 16:53:52 +01:00
ea8c810f13 @author geadded 2023-12-14 13:59:03 +01:00
9 changed files with 208 additions and 7 deletions

View File

@ -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
}

View File

@ -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<String> 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<String> 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<String> 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<String> 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) {
}
}

View File

@ -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 // TODO Alle Zutaten einlesen und Listview mit zutatListView Objekten füllen
package de.subway_surfers.vpr_app; package de.subway_surfers.vpr_app;

View File

@ -1,4 +1,7 @@
// Programmiert von Samuel Wolff /**
* @author Samuel Wolff
* noch nicht getestet
*/
// Noch nicht getestet // Noch nicht getestet
package de.subway_surfers.vpr_app; package de.subway_surfers.vpr_app;

View File

@ -1,5 +1,8 @@
// Programmiert von Samuel Wolff // Programmiert von Samuel Wolff
// Noch nicht getestet /**
* @author Samuel Wolff
* noch nicht getestet
*/
// TODO Sobald Zutat-Klasse implementiert ist Kommentare entfernen // TODO Sobald Zutat-Klasse implementiert ist Kommentare entfernen
package de.subway_surfers.vpr_app; package de.subway_surfers.vpr_app;

View File

@ -1,6 +1,7 @@
module de.subway_surfers.vpr_app { module de.subway_surfers.vpr_app {
requires javafx.controls; requires javafx.controls;
requires javafx.fxml; requires javafx.fxml;
requires java.net.http;
opens de.subway_surfers.vpr_app to javafx.fxml; opens de.subway_surfers.vpr_app to javafx.fxml;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Programmiert von Samuel Wolff <!-- @author Samuel Wolff
Noch nicht getestet Noch nicht getestet
TODO Style einbauen TODO Style einbauen
--> -->

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
Programmiert von Samuel Wolff @author Samuel Wolff
Noch nicht getestet Noch nicht getestet
TODO Style einbinden TODO Style einbinden
--> -->

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
Programmiert von Samuel Wolff @author Samuel Wolff
Noch nicht getestet Noch nicht getestet
TODO Style einbauen TODO Style einbauen
--> -->