API Rest
18/03/20 danny
Définitions
API ( Application Programming Interface)
- Interface de programmation d’application
REST(Representational State Transfer)
- Style d'architecture logicielle définissant un ensemble de contraintes
Fonctionnement
Principes
- un URI de base (Uniform Resource Identifier ou identifiant uniforme de ressource)
exemple http://api.ganatan.com/movies
- des méthodes HTTP standards
GET, POST, PUT, PATCH et DELETE
Méthodes
Liste des méthodes ou verbes
- GET /movies : Liste les movies
- POST/movies : Crée un movie
- GET/movies/1 : Détails movie 1
- GET/movies/2 : Détails movie 2
- PUT/movies/1 : Modifie movie 1
- DELETE/movies/1 : Supprime movie 1
Codes retour
Liste des Codes de retour HTTP
- 100-199 : Reponse provisoire
- 200-299 : Requête réussie
- 400-499 : Erreur le serveur ne peut pas interpréter la commande
- 500-599 : Erreur technique sur le serveur
Liste détaillée des HTTP Status Codes
- 200 (OK)
- 201 (Created)
- 202 (Accepted)
- 204 (No Content)
- 301 (Moved Permanently)
- 302 (Found)
- 303 (See Other)
- 304 (Not Modified)
- 307 (Temporary Redirect)
- 400 (Bad Request)
- 401 (Unauthorized)
- 403 (Forbidden)
- 404 (Not Found)
- 405 (Method Not Allowed)
- 406 (Not Acceptable)
- 412 (Precondition Failed)
- 415 (Unsupported Media Type)
- 500 (Internal Server Error)
- 501 (Not Implemented)
GET
Permet de lister une liste d'enregistrements ou un enregistrement en particulier.
GET /api/movies
[
{ "id": 1, "name": "Alien" },
{ "id": 1, "name": "Gladiator" },
{ "id": 1, "name": "Blade Runner" },
{ "id": 1, "name": "Prometheus" }
]
GET /api/movies/1
{
"id": 1,
"name": "Alien"
}
POST
Permet de créer un nouvel enregistrement
POST /api/movies
envoi
{
"name": "Legend"
}
reponse
{
"id": 5,
"name": "Legend"
}
PUT
Permet de modifier un enregistrement.
PUT /api/movies/1
envoi
{
"name": "Black Hawk Down"
}
Delete
Permet de supprimer un enregistrement.
DELETE /api/movies/1