2017-08-16 63 views
-1

假設我的服務中有2個資源(模型):DegreeCourse
當用戶發送POST請求的其餘部分API https://example.com/degrees/degreeId/courses
與像[courseId => 2] 數據關聯完成Degree ID爲1到id爲1 應該狀態碼是什麼,代表此更新Course
我應該返回200還是201
你還有什麼建議的響應機構?更新的Degree以及相關的Courses用於關聯資源的HTTP狀態代碼

+0

您創建了哪些資源來保證201代碼? –

+0

實際上沒有資源被創建,只有一個記錄被添加到數據透視表(例如course_degree表)。 – Mehrdad

+0

那麼爲什麼你會考慮一個代碼,意思是「請求已經完成並且導致一個或多個新資源被創建」? –

回答

0

我不確定你的API的大概情況。它似乎似乎是一個具體的過程(您在請求體中提供的ID)應該是它自己的資源。

但是給出的描述中,我看到了兩種可能性:

1)創建一個新的資源,如

/degrees/1/course/2 

這種資源可以例如用於發出後DELETE請求。 在這種情況下,您可以返回201並將Link包括到新創建的資源中。

2)如果沒有這樣的資源,200似乎是唯一適用的積極迴應。

選項1似乎比我更喜歡。

+0

是的課程和學位是在後端獨立的資源。 通過訪問此網址,您可以關聯這2個資源。所以你建議狀態碼200? – Mehrdad

+0

我已經將我的回答擴展到了您的評論。 –