Spécification REST
AJOUT : UTILISER https://jsonplaceholder.typicode.com/users
La spécification REST normalise la forme d’appel des webservices. Elle s’appuie sur la notion de ressource, une ressource étant associée à un endpoint.
Exemple : la ressource users
associée au end-point http://json-server.jcbuisson.dev/api/users
- chaque instance de ressource (par ex. chaque user) possède un identifiant, généralement autogénéré par la base de données
- les verbes HTTP GET, POST, PUT et DELETE correspondent à des opérations de type CRUD (CREATE, READ, UPDATE, and DELETE) sur les ressources
- cette spécification est applicable aussi bien au transport HTTP qu’au transport Websocket
GET
La méthode GET est utilisée pour obtenir du serveur la liste des toutes les ressources d’un certain type, ou une ressource particulière précisée par son identifiant
Exemples :
Les deux requêtes font référence au end-point
http://json-server.jcbuisson.dev/api/users
; la première demande la liste de tous les utilisateurs, la seconde la liste de tous les utilisateurs hommes, la troisième l’utilisateur d’identifiant 89.
POST
La méthode POST est utilisée pour créer une nouvelle ressource sur le serveur
Exemple :
Cette requête créée une nouvelle resource pour le endpoint http://json-server.jcbuisson.dev/api/users
, c’est à dire un nouvel utilisateur. Les données qui concernent l’utilisateur doivent être placées dans la section DATA
de la requête.
PUT
La méthode PUT est utilisée pour mettre à jour une ressource spécifique sur le serveur
Exemple :
L’ensemble des données de l’utilisateur 89 doit être placé dans la section DATA de la requête.
PATCH
La méthode PATCH est également utilisée pour mettre à jour une ressource spécifique sur le serveur
Exemple :
À la différence de PUT, seules les données à modifier doivent être placées dans la section DATA de la requête
DELETE
La méthode DELETE permet de supprimer une ressource spécifique Example:
HEAD
HEAD est similaire à GET, mais ne renvoie que les headers et pas la réponse
OPTIONS
OPTIONS est utilisée pour obtenir les options de communication avec la cible : verbes HTTP possibles, méthodes d’authentification demandées, utilisation de la politique CORS (Cross Origin Resource Sharing). (voir ‘preflight requests’)