2017-02-26 89 views
1

通常情況下,我們使用POST創建在服務器端的資源。所以理想情況下,如果一切順利,服務器應該以201創建的狀態進行響應,或者在接受異步操作202的情況下進行響應。是否正確返回200確定發佈請求?

有什麼有效的情況下POST請求可以返回200 OK?或者我們不應該使用200 OK來發送POST請求。

回答

2

我看到200是一個非常常見的響應郵政網上的請求。使用它很好。

RFC 7231

6.3.1。 200 OK

200(OK)狀態碼指示請求已成功。 在200響應所發送的有效載荷依賴於請求方法。
對於本說明書中,預期含義有效載荷的
定義的方法可以概括爲:

GET目標資源的表示;

頭相同的表示爲GET,但沒有 表示 數據;

發佈該行爲的狀態或結果的表示形式 ;

PUT,DELETE表示動作的狀態;

OPTIONS的通信選項的表示;

跟蹤由 結束 服務器收到的請求消息的表示。

而第4.3.3:

迴應帖子的時候,他們包括 明確的新鮮信息(參見4.2.1節[RFC7234])的請求只是緩存。 但是,POST緩存並未廣泛實施。對於 原始服務器希望客戶端能夠以可以被稍後的GET重用的方式來緩存POST結果的情況,原始服務器MAY 會發送一個包含結果的200(OK)響應和一個內容 - 位置具有相同值作爲POST的請求有效URI (節3.1.4.2) 報頭字段。

+0

但是如果我們用它來開發一個API,我們可以稱它爲一種安靜的方法嗎? – DesirePRG

+1

@DesirePRG當然,爲什麼不? RESTful是對遠程API的架構屬性的描述。它甚至不需要使用HTTP來實現RESTful,更不用說使用特定的返回碼。 –