Giter VIP home page Giter VIP logo

ict-294-themen-input's Introduction

ICT Modul 294: Einführung in REST-Services

REST - ein kurzer Überblick

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 und Endpunkte

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.

Beispiele für REST-Endpunkte:

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-Verben in REST

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

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.

HTTP-Statuscode-Bereiche

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

Häufige HTTP-Statuscodes

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.

Code Beispiel und Demo

für die ausführung wird eine standard mongodb installation erwartet

npx create-nodejs-express-app restful

ict-294-themen-input's People

Contributors

fokklz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.