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