2017-08-16 5 views
-1

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

+0

Quelle ressource avez-vous créée pour justifier un code 201? –

+0

Aucune ressource n'est créée en fait, seul un enregistrement est ajouté au tableau pivotant (table course_degree par exemple). – Mehrdad

+0

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"? –

Répondre

0

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.

+0

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

+0

J'ai prolongé ma réponse pour répondre à votre commentaire. –