在我的應用程式中,我維護了幾個形狀。這些形狀是相對于某個參考點計算的。并且這個參考點被認為是(0, 0)。例如有人想將這個參考點移動(x,y),那么所有現有形狀的距離需要用新的參考點重新計算。
我有一個 REST API 來更改這個參考點,所以在內部,所有的 Shapes 距離都是用那個 (x, y) 運動重新計算的。
POST、PUT 或 PATCH 等操作應該使用什么 HTTP 方法?因為我在背景關系中找不到任何正確的,如果我按照這些 HTTP 方法的定義進行。
uj5u.com熱心網友回復:
POST、PUT 或 PATCH 等操作應該使用什么 HTTP 方法?因為我在背景關系中找不到任何正確的,如果我按照這些 HTTP 方法的定義進行。
這取決于。
當客戶端編輯資源的本地副本并將編輯后的檔案版本發送回服務器(也稱為“遠程創作”)時,我們使用 PUT/PATCH。想想“保存檔案”。
我們在......好吧,幾乎所有其他事情時使用 POST。
POST 在 HTTP 中有許多有用的用途,包括“此操作不值得標準化”的一般用途。——菲爾丁,2009
在這里想想 HTML 表單 - 資訊以與資源本身的表示完全無關的表示形式發送到源服務器。
例如,在一個資源模型中,我們有一個參考點本身的資源
GET /example
200 OK
Content-Type: appplication/json
{ "referencePoint": { "x": 0, "y": 0 } }
使用遠程創作語意是相當合理的
PUT /example
Content-Type: appplication/json
{ "referencePoint": { "x": 0, "y": 999 } }
如果資源的表示非常大(比 HTTP 標頭大得多),并且更改很小,那么我們可能會使用補丁檔案來傳達資訊,而不是完整的檔案。
PATCH /example
Content-Type: application:json-patch json
[ { "op": "replace", "path": "referencePoint/y", "value": 999 } ]
在這兩種情況下,基本思想是相同的——我們要求源服務器更改其資源副本以匹配客戶端上的編輯版本。
可以將 POST用于其他所有操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/428084.html
