2014-11-24 56 views
1

我正在爲電信行業低延遲的應用程序,其中的主要工作流程觸發的計算如下:爲了表現,你會否違反REST的冪等原則?

  1. 呼叫一個REST API(POST /工作流+有效載荷)
  2. REST Web App將高度執行在快速訪問緩存存儲並行處理
  3. 其餘的調用將返回一個響應(也許4個或5場JSON對象)

現在,我最初的想法堅持REST設計原則,就是做2 REST API調用e POSTS觸發處理,然後返回一個包含處理結果位置的201(因爲我的理解是REST調用可以更改或返回資源,但不是兩者),然後自動重定向到GET調用。

現在請記住,我試圖儘可能減少延遲,並且HTTP重定向顯然會增加該延遲。如果我讓POST返回有效負載而不是重定向到GET,可以嗎?什麼影響?

乾杯,

回答

2

首先,POST未開始與冪等方法,所以它不是真的有可能對POST不要「侵犯冪等」。

其次,沒有理由POST可能不會返回新創建資源的表示形式。事實上,根據RFC7231(RFC2616的新替代品之一),它甚至可能被緩存用於後續的GETS。見第4.3.3節:

對於在源服務器希望客戶端能夠緩存 中可以通過以後的GET使用的方式POST,該 起源服務器可能的結果的情況下發送一個包含結果的200(OK)響應和一個 Content-Location標題字段...

相關問題