Lors des tests d'API, les données JSON sont couramment utilisées pour la transmission de données. Étant donné que cURL est un outil en ligne de commande standard pour les tests d'API, la question se pose : comment envoyer des données JSON à l'aide d'une commande cURL ? Cet article vous guide à travers le processus de POSTing des données JSON à l'aide de la commande cURL.
Qu'est-ce que cURL ?
cURL
(abréviation de Client for URLs) est un outil en ligne de commande et une bibliothèque pour le transfert de données avec des URL. Il prend en charge un large éventail de protocoles, notamment HTTP, HTTPS, FTP, FTPS, SCP, SFTP, LDAP, LDAPS, DICT, TELNET, FILE, et plus encore.

cURL
est largement utilisé dans la communauté du développement et du scripting pour effectuer des requêtes HTTP, télécharger ou téléverser des fichiers et interagir avec divers services réseau.
La syntaxe de base pour utiliser cURL
est la suivante :
bashCopy code
curl [options] [URL...]
Voici quelques options courantes :
-X
: Spécifie la méthode HTTP (GET, POST, PUT, DELETE, etc.).-H
: Ajoute des en-têtes personnalisés à la requête.-d
: Envoie des données dans le corps de la requête (utilisé pour les requêtes POST).-o
: Écrit la sortie dans un fichier.-O
: Télécharge le fichier et utilise le nom de fichier distant.-L
: Suit les redirections.-u
: Fournit un nom d'utilisateur et un mot de passe pour l'authentification.
Qu'est-ce que JSON ?
JSON, qui signifie JavaScript Object Notation, est un format d'échange de données léger. Il est facile à lire et à écrire pour les humains et facile à analyser et à générer pour les machines. Les données JSON sont représentées sous forme de paires clé-valeur, de la même manière que les objets sont représentés dans de nombreux langages de programmation.
Les données JSON sont constituées de deux structures :
- Objet : Une collection non ordonnée de paires clé-valeur entre accolades
{}
. Chaque clé est une chaîne de caractères, suivie d'un signe deux-points, puis de la valeur associée. - Tableau : Une liste ordonnée de valeurs entre crochets
[]
. Les valeurs d'un tableau peuvent être de n'importe quel type de données, y compris des objets et des tableaux.
Voici un exemple de données JSON simples :
{
"title": "The Catcher in the Rye",
"author": "J.D. Salinger",
"publishedYear": 1951,
"isAvailable": true,
"genres": ["Fiction", "Coming-of-age"]
}
Dans cet exemple :
- L'objet JSON représente un livre avec des attributs tels que
title
,author
,publishedYear
etisAvailable
. - Le champ
genres
est un tableau de chaînes de caractères représentant les genres du livre.
Qu'est-ce que la requête POST ?
Une requête POST est une méthode de requête HTTP utilisée pour envoyer des données à un serveur pour traitement. Les données sont incluses dans le corps de la requête, plutôt que dans l'URL. Les requêtes POST sont couramment utilisées pour soumettre des formulaires web, créer de nouvelles ressources sur le serveur et modifier des données existantes.

Utiliser cURL pour POSTer des données JSON
Pour l'utiliser pour POSTer des données JSON, vous pouvez suivre ces étapes en utilisant l'exemple JSON que vous avez fourni :
Voici comment vous pouvez utiliser cURL
pour effectuer une requête POST avec ces données JSON :
curl -X POST -H "Content-Type: application/json" -d @book.json http://example.com/api/books
Décomposons la commande :
-X POST
: Spécifie la méthode de requête HTTP comme POST.-H "Content-Type: application/json"
: Définit l'en-têteContent-Type
pour indiquer que le corps de la requête est au format JSON.-d @book.json
: Envoie les données du fichierbook.json
dans le corps de la requête.http://example.com/api/books
: Remplacez ceci par l'URL réelle où vous souhaitez envoyer la requête POST.
Assurez-vous de remplacer http://example.com/api/books
par le point de terminaison réel où vous souhaitez envoyer la requête POST.
Si vous n'avez pas les données dans un fichier et que vous souhaitez les envoyer directement dans la commande, vous pouvez faire quelque chose comme ceci :
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
Cette commande inclut les données JSON directement dans la commande en utilisant l'option -d
. Encore une fois, remplacez l'URL par le point de terminaison réel avec lequel vous travaillez.
Un moyen facile d'envoyer des données JSON POST avec Apidog
Envoyer facilement des données JSON est crucial pour une utilisation fluide de l'API. Bien que les utilisateurs avertis en technologie puissent gérer la ligne de commande cURL, cela peut être délicat pour les autres. Apidog intervient avec une interface conviviale, ce qui facilite la tâche pour tout le monde.
L'interface d'Apidog simplifie l'ensemble du processus. Les utilisateurs peuvent facilement choisir la méthode HTTP et le format de données.

Apidog brille avec son ensemble complet de fonctionnalités, gérant tout, de la conception à l'essai des API. C'est un outil unique pour tout ce qui concerne les API, que vous les créiez ou les corrigiez.
Envoyer du JSON avec Apidog est un jeu d'enfant. Il suffit de choisir POST, d'aller dans l'onglet Body, de choisir JSON et de saisir vos données. Apidog ignore les lignes de commande complexes, permettant aux utilisateurs de saisir directement du JSON. C'est parfait pour tous ceux qui travaillent sur les API, quels que soient leurs antécédents techniques ou leur expérience avec des outils comme cURL.
