什麼REST PUT / POST / DELETE調用應該按照慣例返回?


Answers

總體而言,這些約定“像您只是提供網頁一樣思考”。

對於PUT,如果您之後立即執行GET,我會返回相同的視圖; 那會導致200(當然,假設渲染成功,當然)。 對於POST,我會重定向到創建的資源(假設您正在執行創建操作;否則,只返回結果); 成功創建的代碼是201,這實際上是不在300範圍內的重定向的唯一HTTP代碼。

我從來沒有對DELETE應該返回什麼感到滿意(在這種情況下,我的代碼當前會生成一個HTTP 204和一個空的主體)。

Question
  1. 根據“REST思想”,PUT / POST / DELETE請求的響應正文中應該包含什麼內容?

  2. 如何返回代碼? HTTP_OK足夠了嗎?

  3. 這些公約的原因是什麼?

我發現了一篇描述POST / PUT差異的好帖子: POST vs PUT但是它仍然不能回答我的問題。