Bonjour,
J'ai lu pas mal de documentation sur la création d'API REST mais il y a pas mal d'auteurs qui se contredisent.
J'aimerai donc des clarifications sur les bonnes pratiques à utiliser.
##############################
Méthode HTTP : certaines personnes disent que pour envoyer des données, il faut utiliser uniquement des POST alors que d'autres préconisent d'utiliser POST (pour la création), PUT (pour la modification), DELETE (pour la supression)
=> qu'elle est la meilleure méthode ? on peut toutes les utiliser ? pourquoi ?
##############################
Structure de l'URL, j'ai vu plusieurs méthodes pour envoyer des commandes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // {ids} = liste des id des ressources (utilisation du séparateur ",") POST api/<ressources>/{ids}/<ressources_enfants>/{ids}/action?key1=value1&key2=value2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // {ids} = liste des id des ressources (utilisation du séparateur ",") POST api/<ressources>/{ids}/<ressources_enfants>/{ids}/action Envoie des paramètres en x-www-form-url-encoded key1=value1&key2=value2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // {ids} = liste des id des ressources (utilisation du séparateur ",") POST api/<ressources>/{ids}/<ressources_enfants>/{ids}/action Envoie des paramètres en form-data key1=value1&key2=value2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // {ids} = liste des id des ressources (utilisation du séparateur ",") POST api/<ressources>/{ids}/<ressources_enfants>/{ids}/action // Envoie des paramètres en JSON { key1 : value1, key2 : value2 }Est-ce qu'il y a des méthode à proscrire ? laquelle est la meilleure (la plus simple d'utilisaiton pour l'utilisateur) ? pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // {ids} = liste des id des ressources (utilisation du séparateur ",") // {action} = POST/PUT/DELETE selon l'action désirée {action} api/<ressources>/{ids}/<ressources_enfants>/{ids} // Envoie des paramètres en JSON { key1 : value1, key2 : value2 } // Mais comment gérer si on veut faire des actions spécifiques ?
##############################
Pour les informations retournées par le serveur, certaines personnes renvoie un objet JSON contenant le message d'erreur avec le code d'erreur dans le header HTTP alors que d'autre renvoie un objet JSON contenant le code d'erreur et le message.
=> les deux pratiques sont viables ? laquelle est la meilleure ? pourquoi ?
Merci d'avance
Partager