Json-server - Un outil permettant de mocker une API REST
L’intérêt de cet article et de vous faire découvrir un outil pouvant reproduire le comportement d’une API REST. Json-server est un module npm permettant de fournir un serveur Express qui sert une API JSON.
Pourquoi utiliser json-server ?
Une tâche courante pour les développeurs front-end consiste à simuler un service Back-end REST pour fournir des données au format JSON à l’application frontale et s’assurer que tout fonctionne comme prévu.
Bien sûr, vous pouvez configurer un serveur principal complet, par exemple. en utilisant Node.js, Express et MongoDB. Cependant, cela prend du temps et une approche beaucoup plus simple peut aider à accélérer le temps de développement initial.
JSON Server est un projet simple qui vous aide à configurer très rapidement une API REST avec des opérations CRUD. Le site Web du projet se trouve à l’adresse https://github.com/typicode/json-server.
Dans ce qui suit, vous apprendrez comment configurer le serveur JSON et publier un exemple d’API REST. En outre, vous verrez comment utiliser une autre bibliothèque, Faker.js, pour générer de fausses données pour l’API REST exposée à l’aide du serveur JSON.
Comment utiliser json-server afin de mocker une API REST ?
Prérequis: nodejs et npm d’installer
Installation:
Ce module est assez simple à mettre en place:
$ npm install -g json-server
# puis créer un repertoire dans lequel on va mettre notre fichier db.json
$ mkdir test-json-server
# créer le schéma
$ touch db.json
En ajoutant l’option -g, nous nous assurons que le paquet est installé globalement sur votre système.
JSON File
Créons maintenant un nouveau fichier JSON nommé db.json. Ce fichier contient les données devant être exposées par l’API REST. Pour les objets contenus dans la structure JSON, CRUD est créé automatiquement. Jetez un coup d’œil à l’exemple de fichier db.json suivant:
{
"employes": [
{
"id": 1,
"first_name": "Gaelle",
"last_name": "Curry",
"email": "gaelle@curry.com"
},
{
"id": 2,
"first_name": "frederic",
"last_name": "Curry",
"email": "frederic@curry.com"
},
{
"id": 3,
"first_name": "Bryant",
"last_name": "Kobe",
"email": "bryant@kobe.com"
}
]
}
La structure JSON se compose d’un objet employé auquel trois jeux de données sont attribués. Chaque objet employé est composé de quatre propriétés: id, prénom, nom et email.
Lancer le serveur
Lançons le serveur JSON en exécutant la commande suivante:
$ json-server db.json
En tant que paramètre, nous devons passer le fichier contenant notre structure JSON (db.json). De plus, nous utilisons le paramètre - watch. En utilisant ce paramètre, nous nous assurons que le serveur est démarré en mode surveillance, ce qui signifie qu’il surveille les modifications de fichier et met à jour l’API exposée en conséquence.
Nous pouvons maintenant ouvrir l’URL http: // localhost: 3000 / employee dans le navigateur et nous obtiendrons le résultat suivant:
Si vous faites des demandes POST, PUT, PATCH ou DELETE, les modifications seront automatiquement enregistrées dans db.json. Une demande POST, PUT ou PATCH doit inclure un en-tête Content-Type: application / json pour utiliser le code JSON dans le corps de la demande. Sinon, le résultat sera 200 OK mais aucune modification ne sera apportée aux données.
Il est possible d’étendre les URL avec d’autres paramètres. Par exemple. vous pouvez appliquer le filtrage en utilisant des paramètres d’URL, comme vous pouvez le voir dans ce qui suit:
http://localhost:3000/workers?first_name=Pharell
Cela ne renvoie qu’un objet employé. Ou alors, effectuez un texte complet sur toutes les propriétés:
http://localhost:3000/employes?q=codagedelapasserelle
Pour une liste complète des paramètres d’URL disponibles, consultez la documentation du serveur JSON: https://github.com/typicode/json-server