-
Notifications
You must be signed in to change notification settings - Fork 2
Tag 10: HTTP, Spring
HTTP steht für Hypertext Transfer Protocol. Mithilfe dieses Protokolls lassen sich Daten in einem Netzwerk übertragen. HTTP funktioniert nach dem sogenannten Client-Server-Prinzip. Die Daten werden zwischen einem Webserver und einem Webbrowser (auch Client genannt) übertragen.
HTTP hat unter anderem folgende Methoden: • GET (Abfrage) • POST (Hinzufügen) • PUT (Hinzufügen/Ersetzen) • PATCH (Ändern) • DELETE (Löschen)
Der Begriff URL ist ein Akronym der Bezeichnung "Uniform Resource Locator". Damit wird eine Adresse bezeichnet, die einen Pfad zu einer bestimmten Datei auf einem Server angibt. Auf diese Quelle kann über ein Netzwerkprotokoll wie http, https oder ftp zugegriffen werden.
Beispiel:

Man kann über HTTP Daten senden und empfangen. Ein GET Request hat keinen Body. Der Response aber schon. Der Header übermittelt wichtige Parameter und Argumente für die Übertragung von Dateien, z.B. gewünschte Sprache oder andere Informationen.
JSON ist ein Datenformat in einer einfachen lesbaren Textform für den Datenaustausch zwischen Anwendungen.

Mit Postman kann man unter anderem APIs testen. APIs sind Programmierschnittstellen, mit denen man mit externen Systemen interagieren kann. Anhang der Rick und Morty API kann man Abfragen testen. Für die Abfrage brauchen wir den entsprechenden Link.
Wir können links neben der URL unsere HTTP Methode auswählen und darunter die Parameter eingeben:

Ist ein Quelloffenes Framework für die Java Plattform seit 2002. Damit soll die Entwicklung einfacher gemacht werden. Bietet viele Bibliotheken von Modulen an und mehr.
Auf der Seite https://start.spring.io können wir neue Projekte aufsetzen. In Intellij wählen wir unter Generators dann Spring Initializr und wählen dann als Type Maven aus:

Anhand @RequestMapping können wir dann einen Path eingeben. Wir können dann unter Localhost:8080 unseren Code sehen. Wir müssen hier lediglich die URL ergänzen mit dem Teil, welches wir in @GetMapping definiert haben:
package de.neuefische.hhjava231spring;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/greetings")
public class GreetingsController {
@GetMapping("/de")
public String getGreetings() {
return "Hallo!";
}
@GetMapping("/en")
public String getGreetingsInEnglish() {
return "Hello!";
}
}
Beispielprojekt: https://github.com/mboosch/hh-java-23-1-spring