loading

APIs sind heute ein unverzichtbares Konzept in der Anwendungsentwicklung. In diesem Artikel wird gezeigt, wie man eine REST-API entwirft.

Zum besseren Verständnis der Funktionsweise von REST-APIs werden zunächst kurz einige Schlüsselkonzepte erläutert, darunter das HTTP-Protokoll, die Definition einer Ressource und einer Sammlung. Danach wird eine Möglichkeit zum Entwurf einer REST-API erläutert.
Inhaltsübersicht
1. das HTTP-Protokoll
2. Ressource und Sammlung
3. Wie entwirft man eine REST-API?
4. Die Dokumentation
5. Zum Schluss
1. Das HTTP-Protokoll

In diesem ersten Teil geht es um das HTTP-Protokoll, das Kommunikationsprotokoll, das von REST-APIs verwendet wird.

HTTP ist ein Kommunikationsprotokoll, das im Client-Server-Modus arbeitet, d. h. ein Client (z. B. ein Webbrowser) sendet eine Anfrage an den Server (z. B. einen Apache-Server), der Server verarbeitet diese Anfrage und sendet eine Antwort an den Client zurück.


Wir werden erklären, was eine HTTP-Anfrage und eine HTTP-Antwort sind und wie sie aufgebaut sind.

1 – Die HTTP-Anfrage

Eine HTTP-Anfrage ist in einer bestimmten Weise strukturiert, damit der Server sie verstehen kann. Sie besteht aus drei Teilen:

    Die Befehlszeile: Sie enthält die Methode, den Pfad und die Protokollversion.
    Der Request-Header: enthält eine Reihe von optionalen Zeilen, die zusätzliche Informationen über den Server oder den Client enthalten.
    Der Körper der Anfrage: enthält eine Reihe von optionalen Zeilen, die den Daten entsprechen, die über ein Formular gesendet werden.

Eine Methode ist ein Befehl, der die Art der Anfrage angibt, d. h. was der Server tun soll. Zum Beispiel, eine Ressource abrufen oder sie speichern. Es gibt mehrere Methoden, aber wir werden nur die erwähnen, die wir als nächstes verwenden werden:

 – GET : diese Methode wird verwendet, um eine Ressource anzufordern (was eine Ressource ist, wird im nächsten Abschnitt erläutert), sie hat keine Auswirkungen auf die Ressource

– POST : wird verwendet, um Daten zu übermitteln, das Ergebnis kann die Erstellung einer neuen Ressource sein.

– PUT : diese Methode kann verwendet werden, um eine Ressource zu ersetzen oder hinzuzufügen.

– PATCH : diese Methode wird verwendet, wenn Sie eine Ressource teilweise ändern wollen.

– DELETE : diese Methode wird verwendet, um eine Ressource zu löschen.
Die HTTP-Antwort

Die HTTP-Antwort

Eine HTTP-Antwort ist ebenfalls auf eine bestimmte Art und Weise strukturiert, sie besteht ebenfalls aus drei Teilen:

    Die Antwortzeile: Sie enthält die Protokollversion, den Statuscode und die Bedeutung dieses Codes.
    Der Antwort-Header: Er enthält optionale Zeilen mit zusätzlichen Informationen über die Antwort und/oder den Server.
    Der Body der Antwort: Er kann das angeforderte Dokument oder die angeforderte Ressource enthalten.

Der Status der Antwort gibt an, ob die Anfrage erfolgreich war oder nicht. Sie sind in fünf Gruppen unterteilt:

    1xx : zeigt Informationen an
    2xx : zeigt an, dass die Anfrage erfolgreich war
    3xx : zeigt eine Umleitung der Anfrage an
    4xx : zeigt an, dass ein Fehler aufgetreten ist, aber die Ursache beim Kunden liegt
    5xx : zeigt an, dass ein Fehler aufgetreten ist, aber dass die Ursache vom Server stammt

Unter diesen Statuscodes gibt es einen, der sehr bekannt ist: der 404-Code, der anzeigt, dass der Kunde eine nicht vorhandene Ressource angefordert hat.

2. Ressource und Sammlung

    Eine Ressource steht für jede Art von Namen, der zur Darstellung von Daten in einer Anwendung verwendet werden kann. So kann beispielsweise die Ressource „Benutzer“ die Daten eines Benutzers oder die Ressource „Artikel“ die Daten eines Beitrags darstellen.
    Jede Ressource enthält zusätzliche Informationen über die Daten, die sie enthält. Für eine Benutzerressource können Sie beispielsweise als zusätzliche Daten seinen Vornamen, seinen Nachnamen und sein Alter angeben.
    Ressourcen werden in einer Gruppe zusammengefasst, die als Sammlung bezeichnet wird. Dies ist der Plural des Ressourcennamens. Für die Ressource Benutzer gibt es beispielsweise die Sammlung Benutzer, für die Ressource Produkt die Sammlung Produkte.

Nachdem wir nun einige Konzepte behandelt haben, wollen wir uns ansehen, wie man eine REST-API entwickelt.

3. Wie entwirft man eine REST-API?

Zunächst einmal: Was ist eine API? Wir können eine API als eine Schnittstelle definieren, über die alle Dienste einer Software zugänglich sind. Die Besonderheit von REST-APIs besteht darin, dass für die Kommunikation das HTTP-Protokoll und für die Strukturierung und den Austausch von Daten das JSON-Format verwendet wird:

    Wie können die Daten dargestellt werden?
    Wie benennt man die Pfade zu einer Ressource?
    Wie stellen wir die Methoden dar?

Wie stellt man die Daten dar?

Daten sind das Herzstück einer Anwendung, daher muss zunächst ein konsistenter Weg gefunden werden, um sie darzustellen. Zunächst werden wir die Daten in mehrere Elemente aufteilen, die wir als Ressourcen darstellen werden. Jede Ressource hat einen Namen und enthält zusätzliche Informationen über die Daten, die sie enthält.


Zweitens werden die Ressourcen in einer Sammlung zusammengefasst. Wir beziehen uns auf eine Sammlung mit der Form des Ressourcennamens im Plural.

Wie benennt man die Pfade zu einer Ressource?

Um einem Client den Zugriff auf Ressourcen zu ermöglichen, stellt unsere API Methoden zur Verfügung. Jede Methode wird über einen so genannten Pfad aufgerufen. Die Aufgabe besteht hier darin, einen einheitlichen Weg zu finden, diese Pfade zu benennen. Es gibt mehrere gute Möglichkeiten, dies zu tun, aber wir werden den folgenden Weg wählen: /api/<die API-Version>/<der Name der Sammlung>.
Wie stellen wir die Methoden dar?

Sobald die Datendarstellung definiert ist, müssen die Methoden für den Zugriff und die Bearbeitung der Daten festgelegt werden.
Wir werden zunächst die Art unserer Methoden definieren. Jede Methode muss eine Aktion ausführen, wobei die Art einer Aktion durch ein HTTP-Verb definiert wird. So werden wir die Methoden für unsere Schuhsammlung definieren und bereitstellen:

    GET /api/v1/shoes : zum Abrufen der Sammlung
    GET /api/v1/shoes/123 : zum Abrufen des Schuhs mit der ID 123
    POST /api/v1/shoes : um eine Ressource zur Sammlung hinzuzufügen
    PUT /api/v1/shoes/123 : um die Schuhressource mit der ID 123 zu ändern
    DELETE /api/v1/shoes/123 : um die Schuhressource mit der ID 123 zu löschen

Als nächstes müssen wir feststellen, ob sich der Client authentifizieren muss, um eine Methode aufzurufen. Zu diesem Zweck muss der Benutzer seine Informationen im Request-Header angeben.

Und schließlich müssen wir die Fehler bestimmen, die beim Aufruf einer Methode auftreten können. Die Art eines Fehlers muss vom Client durch einen Statuscode in der Kopfzeile und eine Meldung im Körper der Antwort bestimmt werden können.

Beispiel: Wir werden die Sammlung Schuhe verwenden

4. Die Dokumentation

Wenn wir mit dem Entwurf unserer API fertig sind und zur Entwicklung übergehen, ist es wichtig, eine Dokumentation für unsere API zu erstellen. Die wichtigsten Informationen in der Dokumentation sind die folgenden:

    Die API-Version
    Verfügbare Ressourcen: Für jede Ressource müssen die Daten, die sie darstellt, dokumentiert werden.
    Die verfügbaren Methoden: Für jede Methode müssen die Definitionen der Anfrage, der Antwort und der verschiedenen Antwortstatus beschrieben werden.

Für die Dokumentation Ihrer API gibt es Technologien, mit denen sie erstellt werden kann. Die Technologie, die ich in meinen Projekten verwende, ist Swagger. Sie ist sehr verbreitet und kann in viele Frameworks integriert werden.

Zusammenfassend

Eine API ist eine Anwendung, die Dienste über eine Schnittstelle zur Verfügung stellt. Eine REST-API verwendet das HTTP-Protokoll für die Kommunikation und das JSON-Format für die Strukturierung und den Austausch von Daten.
    Der erste Schritt beim Entwurf einer REST-API ist die Darstellung der Daten. Wir müssen die Daten in Ressourcen organisieren und diese Ressourcen in Sammlungen gruppieren.
    Der zweite Schritt besteht darin, einen Benennungsstandard für die Pfade zu finden.
    Der dritte Schritt besteht darin, die Methoden zu definieren, die für die verschiedenen Sammlungen angezeigt werden sollen.
    Wenn die API bereitgestellt wird, muss sie von einer Dokumentationsseite begleitet werden.

Um mehr über REST-APIs zu erfahren, empfehle ich Ihnen dieses Video und das hervorragende Buch von Philip Sturgeon über API-Design.

Blockchain Technology Blockchain is gaining traction beyond cryptocurrencies. It offers secure and transparent transactional systems and is being explored in various industries like supply chain management, finance, and healthcare. Cybersecurity Concerns: With the increasing reliance on digital systems, cybersecurity threats are also on the rise.

Related Blogs

Write a Reply or Comment

Your email address will not be published. Required fields are marked *