REST (Representational State Transfer)
Es handelt sich um einen Architekturstil für verteilte Systeme und ist oft im Zusammenhang mit Webdiensten zu hören.
Stateless:
Kein Sitzungsstatus auf dem Server. Jede Anfrage enthält alle benötigten Informationen.
Client-Server:
Klare Trennung von Benutzeroberfläche (Client) und Datenverarbeitung (Server).
Cacheable:
Antworten können gecached werden, um Effizienz zu steigern.
Layered System:
Mögliche Schichten von Servern zwischen Client und End-Server.
Uniform Interface:
Vereinfachte, einheitliche Schnittstelle zwischen Client und Server.
URLs (Uniform Resource Locators) dienen im Internet als Adressen für Ressourcen. Sie sind der Schlüssel für den Zugriff auf Daten über das Web.
In RESTful APIs werden URLs verwendet, um spezifische Ressourcen zu identifizieren. Diese Ressourcen können dann durch verschiedene HTTP-Methoden manipuliert werden. Ein Endpunkt ist eine spezielle URL, die einen bestimmten Aspekt einer Ressource oder eine Gruppe von Ressourcen repräsentiert.
GET /books
: Liste aller Bücher abrufen
POST /books
: Neues Buch hinzufügen
GET /books/1
: Einzelnes Buch mit ID 1 abrufen
PUT /books/1
: Buch mit ID 1 aktualisieren
DELETE /books/1
: Buch mit ID 1 löschen
HTTP-Methoden in RESTful APIs fungieren als standardisierte Verben für die Interaktion mit Web-Ressourcen. Sie vereinfachen die Entwicklung, da sie intuitive Operationen wie Abrufen, Hinzufügen und Löschen ermöglichen. Die Server-Implementierung bestimmt die spezifische Behandlung jeder Methode.
- GET: Daten abrufen
- POST: Daten hinzufügen
- PUT/PATCH: Daten aktualisieren
- DELETE: Daten löschen
HTTP-Statuscodes sind dreistellige Codes, die vom Server zurückgegeben werden, um den Status einer HTTP-Anfrage anzuzeigen. Sie informieren den Client darüber, ob die Anfrage erfolgreich war, ob weitere Aktionen erforderlich sind oder ob ein Fehler aufgetreten ist. Sie sind in verschiedene Bereiche unterteilt, um die Art der Antwort zu kennzeichnen.
Bereich | Beschreibung |
---|---|
1xx | Informational - Anfrage wurde empfangen und verarbeitet |
2xx | Erfolgreich - Anfrage wurde erfolgreich empfangen, verstanden und akzeptiert |
3xx | Umleitung - Weiterleitung erforderlich, um die Anfrage abzuschließen |
4xx | Client-Fehler - Anfrage enthält einen ungültigen Parameter oder kann nicht verarbeitet werden |
5xx | Server-Fehler - Server konnte die Anfrage nicht verarbeiten |
Nummer | Beschreibung |
---|---|
200 | OK |
201 | Created |
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
502 | Bad Gateway |
503 | Service Unavailable |
Für eine vollständige Liste der HTTP-Statuscodes, siehe Wikipedia: HTTP-Statuscode.
für die ausführung wird eine standard mongodb installation erwartet
npx create-nodejs-express-app restful