2017-07-15 37 views
0

我正在使用application/merge-patch+json作爲我的內容類型來通過HTTP PATCH方法編輯資源。我將數據存儲在RDBMS中。處理JSON合併補丁中的空值

merge patch spec明確指出,當一個密鑰設置爲null值時,應該從資源中刪除。

但是,這是不可能的,因爲我不能簡單地刪除我的數據庫中的某些行的列 - 我刪除的值只設置爲null,這違反了規範。

我想到了兩個選項:

  1. 違背規範,只需將列null,讓他們在資源
  2. 使用JSON貼片代替,這是相當相比,合併補丁的開銷

有沒有其他方法?

回答

1

關於API資源的A DELETE並不一定是實際刪除數據庫中的資源 - 它可能是軟件刪除(事實上,這就是您正在做的)。

只要API正確表示爲被刪除(例如,您可以省略顯示空值 - 我認爲JSON默認爲您執行此操作),可以認爲您遵守規範。