[英]Http PUT to do incremental updates
我們已經實現了RESTful Web服務。 這是它的樣子
GET /person/1234
GET /person/list
POST /person
POST /person/list
PUT /person/1234
PUT /person/list
基本上,要創建一個Person,您可以POST到/ person或/ person / list
要更新某人,請將其輸入/ person / 1234或/ person / list
一個人看起來像這樣:
<person>
<id>1234</id>
<name>Name1</name>
<age>50</age>
<education>high school</education>
</person>
問題:我可以使用PUT通過發送來更新某人
<person>
<age>55</age>
</person>
據我了解PUT,您無法將其用於增量更新。 我不應該使用POST來做嗎?
我們可以放松PUT對這個用例的定義,使術語變得簡單。 因為PUT意味着更新,POST將意味着創建。
假設您不能要求客戶端發送更新的完整資源表示。
如果您的客戶支持它,我認為PATCH是您正在尋找的:
PATCH以可預測且有效的事務方式覆蓋指定資源的一部分(如果無法執行整個補丁,則服務器不應該執行任何部分)
你會被反復告知你不應該做部分PUT。 規范說你不應該這樣做。 但是,我還沒有聽到有關這樣做的負面影響的令人信服的論點。
關於這個問題的一個較長的主題是http://tech.groups.yahoo.com/group/rest-discuss/message/17500
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.