2013-06-29 54 views

回答

2

對於請求的實體主體沒有限制,如RFC 5789中所定義的HTTP PATCH請求。所以從理論上講,你在這方面的選擇是無限的。

在我看來,唯一明智的選擇是使用相同的Content-Type用於最初創建資源。最常見的選擇是application/json,因爲大多數現代API都使用JSON作爲其首選數據傳輸格式。

唯一培訓相關聲明RFC 5789使得關於什麼應該和不應該是你的PATCH實體主體的一部分,是對Content-Type此事沉默:

封裝的實體包含描述一組指令應該如何修改當前駐留在源服務器上的資源以生成新版本。

總之,如何選擇修改應用程序中的資源完全取決於您。

+0

沒有。媒體類型應該描述補丁格式。如果您起訴的媒體類型缺少在PATCH中使用的定義,那麼您沒有按照它應該使用的方式使用PATCH。 –

+0

@JulianReschke可以自由地做一些有效的工作,併爲您的陳述發佈RFC參考,以便人們可以受益。否則,你沒有幫助任何人。特別是,如果這個答案是錯誤的,你應該發佈一個正確的。 – rdlowrey

+0

看到http://www.rfc-editor.org/errata_search.php?rfc=5789 –

2

正如rdlowrey寫道,RFC 5789沒有強制具體的內容類型,所以取決於你。但是,我建議不要使用您列出的一般格式或自行編寫格式,因爲這樣做不可互操作,開發人員可能很難弄清楚您選擇的語義。

(至少)在處理最初發布爲JSON的數據時,我認爲使用JSON修補程序(RFC 6902)可能被認爲是「標準」選擇。它專門設計用於PATCH,並使用自己的媒體類型application/json-patch+json