Bei der Durchführung von API-Tests werden JSON-Daten häufig für die Datenübertragung verwendet. Angesichts der Tatsache, dass cURL ein Standard-Befehlszeilen-Tool für API-Tests ist, stellt sich die Frage: Wie kann man JSON-Daten mit einem cURL-Befehl senden? Dieser Artikel führt Sie durch den Prozess des POSTen von JSON-Daten mit dem cURL-Befehl.
Was ist cURL?
cURL
(kurz für Client for URLs) ist ein Befehlszeilen-Tool und eine Bibliothek zur Datenübertragung mit URLs. Es unterstützt eine Vielzahl von Protokollen, darunter HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, LDAPS, DICT, TELNET, FILE und mehr.

cURL
wird in der Entwicklungs- und Skripting-Community häufig verwendet, um HTTP-Anfragen zu stellen, Dateien herunterzuladen oder hochzuladen und mit verschiedenen Netzwerkdiensten zu interagieren.
Die grundlegende Syntax für die Verwendung von cURL
lautet:
bashCopy code
curl [options] [URL...]
Hier sind einige gängige Optionen:
-X
: Gibt die HTTP-Methode an (GET, POST, PUT, DELETE usw.).-H
: Fügt der Anfrage benutzerdefinierte Header hinzu.-d
: Sendet Daten im Anfragetext (wird für POST-Anfragen verwendet).-o
: Schreibt die Ausgabe in eine Datei.-O
: Lädt die Datei herunter und verwendet den Remote-Dateinamen.-L
: Folgt Weiterleitungen.-u
: Stellt einen Benutzernamen und ein Passwort für die Authentifizierung bereit.
Was ist JSON?
JSON, was für JavaScript Object Notation steht, ist ein leichtgewichtiges Datenaustauschformat. Es ist für Menschen leicht zu lesen und zu schreiben und für Maschinen leicht zu parsen und zu generieren. JSON-Daten werden als Schlüssel-Wert-Paare dargestellt, ähnlich wie Objekte in vielen Programmiersprachen dargestellt werden.
JSON-Daten bestehen aus zwei Strukturen:
- Objekt: Eine ungeordnete Sammlung von Schlüssel-Wert-Paaren, die in geschweifte Klammern
{}
eingeschlossen sind. Jeder Schlüssel ist eine Zeichenkette, gefolgt von einem Doppelpunkt und dann dem zugehörigen Wert. - Array: Eine geordnete Liste von Werten, die in eckige Klammern
[]
eingeschlossen sind. Werte innerhalb eines Arrays können von jedem Datentyp sein, einschließlich Objekten und Arrays.
Hier ist ein Beispiel für einfache JSON-Daten:
{
"title": "The Catcher in the Rye",
"author": "J.D. Salinger",
"publishedYear": 1951,
"isAvailable": true,
"genres": ["Fiction", "Coming-of-age"]
}
In diesem Beispiel:
- Das JSON-Objekt stellt ein Buch mit Attributen wie
title
,author
,publishedYear
undisAvailable
dar. - Das Feld
genres
ist ein Array von Zeichenketten, die die Genres des Buches darstellen.
Was ist die POST-Anfrage?
Eine POST-Anfrage ist eine HTTP-Anfragemethode, die verwendet wird, um Daten zur Verarbeitung an einen Server zu senden. Die Daten sind im Anfragetext und nicht in der URL enthalten. POST-Anfragen werden häufig zum Absenden von Webformularen, zum Erstellen neuer Ressourcen auf dem Server und zum Ändern vorhandener Daten verwendet.

Verwenden von cURL zum POSTen von JSON-Daten
Um es zum POSTen von JSON-Daten zu verwenden, können Sie diese Schritte anhand des von Ihnen bereitgestellten JSON-Beispiels ausführen:
So können Sie cURL
verwenden, um eine POST-Anfrage mit diesen JSON-Daten zu erstellen:
curl -X POST -H "Content-Type: application/json" -d @book.json http://example.com/api/books
Lassen Sie mich den Befehl aufschlüsseln:
-X POST
: Gibt die HTTP-Anfragemethode als POST an.-H "Content-Type: application/json"
: Setzt denContent-Type
-Header, um anzugeben, dass der Anfragetext im JSON-Format vorliegt.-d @book.json
: Sendet die Daten aus der Dateibook.json
im Anfragetext.http://example.com/api/books
: Ersetzen Sie dies durch die tatsächliche URL, an die Sie die POST-Anfrage senden möchten.
Ersetzen Sie unbedingt http://example.com/api/books
durch den tatsächlichen Endpunkt, an den Sie die POST-Anfrage senden möchten.
Wenn Sie die Daten nicht in einer Datei haben und sie direkt im Befehl senden möchten, können Sie dies wie folgt tun:
curl -X POST -H "Content-Type: application/json" -d '{"title":"The Catcher in the Rye","author":"J.D. Salinger","publishedYear":1951,"isAvailable":true,"genres":["Fiction","Coming-of-age"]}' http://example.com/api/books
Dieser Befehl enthält die JSON-Daten direkt im Befehl mit der Option -d
. Ersetzen Sie auch hier die URL durch den tatsächlichen Endpunkt, mit dem Sie arbeiten.
Einfache Möglichkeit, POST-JSON-Daten mit Apidog zu senden
Das mühelose Senden von JSON-Daten ist für eine reibungslose API-Nutzung unerlässlich. Während technisch versierte Benutzer die cURL-Befehlszeile handhaben können, kann dies für andere knifflig sein. Apidog tritt mit einer benutzerfreundlichen Oberfläche ein und macht es für jeden einfach.
Die Benutzeroberfläche von Apidog vereinfacht den gesamten Prozess. Benutzer können ganz einfach die HTTP-Methode und das Datenformat auswählen.

Apidog glänzt mit seinem vollen Funktionsumfang und kümmert sich um alles, von der API-Entwicklung bis zum Testen. Es ist ein One-Stop-Tool für alle API-bezogenen Dinge, egal ob Sie sie erstellen oder reparieren.
Das Senden von JSON mit Apidog ist ein Kinderspiel. Wählen Sie einfach POST, gehen Sie zur Registerkarte Body, wählen Sie JSON und geben Sie Ihre Daten ein. Apidog überspringt die komplexen Befehlszeilen und lässt Benutzer JSON direkt eingeben. Es ist perfekt für alle, die in der API-Arbeit tätig sind, unabhängig von ihrem technischen Hintergrund oder ihrer Erfahrung mit Tools wie cURL.
