J'essaie de développer une API REST simple. J'essaie toujours de comprendre les paradigmes architecturaux de base. J'ai besoin d'aide pour les points suivants :
-
"Les ressources" doivent être des noms, non ? Donc, je devrais avoir "user", pas "getUser", non ?
-
J'ai vu cette approche dans certaines API : www.domain.com/users/ (renvoie une liste), www.domain.com/users/user (fait quelque chose de spécifique à un utilisateur). Cette approche est-elle bonne ?
-
Dans la plupart des exemples que j'ai vus, les valeurs d'entrée et de sortie sont généralement de simples paires nom/valeur (par exemple, color='red'). Et si je voulais envoyer ou renvoyer quelque chose de plus complexe que cela ? Suis-je obligé de me contenter de XML ?
-
Supposons une méthode PUT vers /user/ pour ajouter un nouvel utilisateur au système. Quel serait le bon format pour le paramètre d'entrée (supposons que les seuls champs nécessaires sont "nom d'utilisateur" et "mot de passe") ? Quelle serait une bonne réponse si l'utilisateur réussit ? Et si l'utilisateur a échoué (et que je veux renvoyer un message d'erreur descriptif) ?
-
Quelle est une approche simple et efficace de l'authentification et de l'autorisation ? J'aimerais restreindre la plupart des méthodes aux utilisateurs qui se sont "connectés" avec succès. La transmission du nom d'utilisateur et du mot de passe à chaque appel est-elle acceptable ? La transmission d'un jeton est-elle considérée comme plus sûre (si oui, comment doit-elle être mise en œuvre en termes d'expiration, etc.)