Merge pull request 'samu_masken' (#9) from samu_masken into master

Reviewed-on: #9
This commit is contained in:
2023-12-20 09:56:31 +01:00
4 changed files with 68 additions and 12 deletions

View File

@@ -5,9 +5,12 @@ import java.util.ArrayList;
public class Kind {
// region Felder
private transient int id;
private String name;
private String vorname;
private int id;
private int bid;
// TODO Zutat implementieren!
private ArrayList<Zutat> filter;
// endregion
@@ -37,6 +40,14 @@ public class Kind {
this.id = id;
}
public int getBid() {
return bid;
}
public void setBid(int bid) {
this.bid = bid;
}
// TODO Zutat implementieren!
public ArrayList<Zutat> getFilter() {
@@ -49,10 +60,12 @@ public class Kind {
// endregion
// region Konstruktoren
public Kind(String name, String vorname) {
public Kind(String name, String vorname, int bid) {
this.name = name;
this.vorname = vorname;
this.bid = bid;
}
// endregion

View File

@@ -1,9 +1,3 @@
/**
* @author Samuel Wolff
* noch nicht getestet
* TODO FERTIG MACHEN
*/
package RestAPISchnittstelle;
import java.net.URI;
@@ -11,22 +5,38 @@ import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.WatchEvent;
import Logik.Kind;
import com.google.gson.Gson;
/**
* noch nicht getestet
* TODO FERTIG MACHEN
* @author Samuel Wolff
*/
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;
private final Gson gson;
public RestApiClient(){
client = HttpClient.newHttpClient();
gson = new Gson();
}
public static void main(String[] args){
new RestApiClient().get("Kind", 2);
Kind kind = new Kind("Klein", "Kevin", 2);
String json = new Gson().toJson(kind);
new RestApiClient().post("Kind", json);
}
@@ -46,9 +56,11 @@ public class RestApiClient implements IRestAPI{
// Send the request and get the response
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
Kind test = gson.fromJson(httpResponse.body(), Kind.class);
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
System.out.println("Response Body: " + test.getName());
} catch (Exception e) {
e.printStackTrace();
}
@@ -71,9 +83,14 @@ public class RestApiClient implements IRestAPI{
// Send the request and get the response
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
Kind[] test = gson.fromJson(httpResponse.body(), Kind[].class);
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
for(Kind i : test){
System.out.println(i.getVorname());
}
//System.out.println("Response Body: " + test);
} catch (Exception e) {
e.printStackTrace();
}
@@ -137,7 +154,26 @@ public class RestApiClient implements IRestAPI{
*/
@Override
public void post(String controllerName, String jsonData) {
URI apiUri = URI.create(String.format("%s/%s", urlBase,controllerName));
System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(apiUri)
.header("Content-Type", "application/json")
.POST(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();
}
}
/**

View File

@@ -2,8 +2,10 @@ module de.subway_surfers.vpr_app {
requires javafx.controls;
requires javafx.fxml;
requires java.net.http;
requires com.google.gson;
opens de.subway_surfers.vpr_app to javafx.fxml;
opens de.subway_surfers.vpr_app to javafx.fxml, com.google.gson;
opens Logik to com.google.gson;
exports de.subway_surfers.vpr_app;
}