Supposons que j'ai 2 ressources (modèles) dans mon service: Degree
, Course
.
Lorsqu'un utilisateur envoie une demande de poste à l'API de repos https://example.com/degrees/degreeId/courses
avec des données comme [courseId => 2]
Il associe Degree
avec id 1 à un Course
avec id 1. Quel est le code d'état doit être pour représenter cette mise à jour? Si je retourne ou 201
Aussi, que suggérez-vous pour le corps de réponse? Le Degree
mis à jour ainsi que Courses
associé?Code d'état HTTP pour l'association de ressources
Répondre
Je ne suis pas sûr de la grande image de votre API. Il semble en quelque sorte qu'un cours spécifique (l'ID que vous fournissez dans le corps de la requête) soit sa propre ressource.
Toutefois, étant donné la description, je vois deux possibilités:
1) Créer une nouvelle ressources, telles que
/degrees/1/course/2
Cette ressource pourrait par exemple être utilisé pour émettre une demande plus tard DELETE
. Dans ce cas, vous pouvez renvoyer 201
et inclure un Link
à la ressource nouvellement créée.
2) S'il n'y a pas de telle ressource, 200
semble être la seule réponse positive applicable.
L'option 1 me semble préférable.
Yep Course et Degrés sont des ressources séparées sur le back-end. En visitant cette URL, vous associez ces 2 ressources. Donc, vous suggérez le code d'état 200? – Mehrdad
J'ai prolongé ma réponse pour répondre à votre commentaire. –
Quelle ressource avez-vous créée pour justifier un code 201? –
Aucune ressource n'est créée en fait, seul un enregistrement est ajouté au tableau pivotant (table course_degree par exemple). – Mehrdad
Alors pourquoi considéreriez-vous un code qui signifie "La demande a été satisfaite et a entraîné la création d'une ou de plusieurs nouvelles ressources"? –