簡體   English   中英

我的REST服務方法應該使用哪種HTTP方法進行讀取和寫入?

[英]Which HTTP Method should I use for my REST Service method doing READ & WRITE?

根據RESTful服務指南,我們應該使用GET讀取資源,使用POST創建新資源,使用DELETE刪除現有資源等。

但是假設我正在開發RESTFul Web服務,例如OrderProcessing。 在placeOrder(Order)方法中,我必須讀取一些表,如庫存,產品詳細信息等,在表中插入一些新行(如訂單和訂單詳細信息),並進行更新(如降低庫存水平等)。然后我應該對placeOrder()使用哪種HTTP方法) 方法。

在非常高的級別上,我們正在創建一個新的資源(訂單),因此我認為POST是要使用的正確HTTP方法。

但是,一般而言,在同一方法內執行讀取/創建/更新數據的方法應使用什么動詞?

我同意您的想法,在這里POST是合適的。 即使您執行多項操作,也可以將其視為Order資源的一個單一創建。 至於其他操作,我會將其視為您沒有向服務使用者公開的內部細節。

編輯-進一步,假設您已將Order定義為資源,並且POST正文包含此資源的表示形式。 並且要完全RESTful,如果POST導致創建新訂單,那么HTTP 201是合適的響應代碼。 有關更多詳細信息,請參見http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html的 9.5節。

絕對是POST。 出於明顯的原因,您可以排除GET和DELETE,並且只想對等冪運算使用PUT。 由於減少了庫存,因此可以安全地排除PUT作為可行的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM