Eine Anwendungsprogrammschnittstelle (API) ist ein Satz von Definitionen und Protokollen, die es Softwareprogrammen ermöglichen, miteinander zu kommunizieren.
Der Begriff REST steht für Representational State Transfer. Es ist ein Architekturstil, der aus einer Reihe von Einschränkungen besteht, die beim Erstellen von Webdiensten verwendet werden.
RESTful API ist eine API, die der REST-Architektur folgt. Typischerweise verwenden REST-APIs das HTTP-Protokoll zum Senden und Abrufen von Daten und Antworten im JSON-Format. Sie können die Standard-HTTP-Methoden verwenden, um Ressourcen über die API zu erstellen, anzuzeigen, zu aktualisieren oder zu löschen.
Zum Testen und Interagieren mit den RESTful-APIs können Sie jede Bibliothek oder jedes Tool verwenden, das HTTP-Anfragen stellen kann.
API-Anforderungen bestehen aus vier verschiedenen Teilen:
- Der Endpunkt. Dies ist die URL, die der Client verwendet, um mit dem Server zu kommunizieren.
- Die HTTP-Methode. Es teilt dem Server mit, welche Aktion der Client ausführen möchte. Die gebräuchlichsten Methoden sind
GET
POST
PUT
DELETE
undPATCH
- Die Überschriften. Wird verwendet, um zusätzliche Informationen zwischen dem Server und dem Client zu übertragen, z. B. Autorisierung.
- Der Körper. Die an den Server gesendeten Daten.
In diesem Artikel besprechen wir die Verwendung von curl
um mit RESTful-APIs zu interagieren. curl
ist ein Befehlszeilendienstprogramm zum Übertragen von Daten von oder zu einem Remote-Server. Es wird standardmäßig auf macOS und den meisten Linux-Distributionen installiert.
Curl-Optionen #
Die Syntax für curl
Befehl lautet wie folgt:
curl [options] [URL...]
Hier sind die Optionen, die wir verwenden, wenn wir Anfragen stellen:
-X
,--request
- Die zu verwendende HTTP-Methode.-i
,--include
- Schließen Sie die Antwortheader ein.-d
,--data
- Die zu sendenden Daten.-H
,--header
- Zusätzlicher zu sendender Header.
HTTP GET #
Die GET-Methode fordert eine bestimmte Ressource vom Server an.
GET ist die Standardmethode, wenn HTTP-Anfragen mit curl
gestellt werden . Hier ist ein Beispiel für eine GET-Anforderung an die JSONPlaceholderAPI für eine JSON-Darstellung aller Beiträge:
curl https://jsonplaceholder.typicode.com/posts
Verwenden Sie Abfrageparameter, um die Ergebnisse zu filtern:
curl https://jsonplaceholder.typicode.com/posts?userId=1
HTTP POST #
Die POST-Methode wird verwendet, um eine Ressource auf dem Server zu erstellen. Wenn die Ressource vorhanden ist, wird sie überschrieben.
Der folgende Befehl erstellt eine POST-Anforderung unter Verwendung der mit -d
angegebenen Daten Möglichkeit:
curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts
Der Typ des Request-Body wird mit dem Content-Type
angegeben Header. Standardmäßig, wenn diesem Header kein curl
gegeben wird verwendet Content-Type: application/x-www-form-urlencoded
.
Um einen JSON-formatierten Datensatz zu senden, setzen Sie den Texttyp auf application/json
:
curl -X POST -H "Content-Type: application/json" \
-d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \
https://jsonplaceholder.typicode.com/posts
HTTP-PUT-Nummer
Die PUT-Methode wird verwendet, um eine Ressource auf dem Server zu aktualisieren oder zu ersetzen. Es ersetzt alle Daten der angegebenen Ressource durch die Anfragedaten.
curl -X PUT -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts/5
HTTP-PATCH #
Die PUT-Methode wird verwendet, um Teilaktualisierungen an der Ressource auf dem Server vorzunehmen.
curl -X PUT -d "title=Hello Universe" https://jsonplaceholder.typicode.com/posts/5
HTTP LÖSCHEN #
Die DELETE-Methode entfernt die angegebene Ressource vom Server.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Authentifizierungsnummer
Wenn der API-Endpunkt eine Authentifizierung erfordert, müssen Sie einen Zugriffsschlüssel anfordern. Andernfalls antwortet der API-Server mit der Antwortnachricht „Zugriff verboten“ oder „Nicht autorisiert“.
Der Prozess zum Abrufen eines Zugriffsschlüssels hängt von der von Ihnen verwendeten API ab. Sobald Sie Ihr Zugriffstoken haben, können Sie es im Header senden:
curl -X GET -H "Authorization: Bearer {ACCESS_TOKEN}" "https://api.server.io/posts"
Schlussfolgerung #
Wir haben Ihnen gezeigt, wie Sie curl
verwenden Test-API-Anfragen zu stellen. Weitere Informationen zu curl
, besuchen Sie die Curl-Dokumentationsseite.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.