跳至內容
Astera Technology

API 修改時,漏傳欄位與 null 怎樣分清

先查修改規格,避免表單空白被當作刪除原資料。

按真正修改格式理解欄位

JSON Merge Patch 中,沒有傳的欄位保持不變,null 則刪除欄位。其他 PATCH 格式可能不同。以下只按 merge-patch 處理假設個人資料物件,不能套用到所有 JSON 請求。

Merge Patch 欄位例子
原內容修改內容結果
phone="1234",note="call"{"note":"email"}保留 phone;note="email"
phone="1234"{"phone":null}phone 欄位被移除
phone="1234"{"phone":""}若格式接受,phone 成為空字串
下載可編輯 CSV ↓

表單操作要對應真正修改意圖

表單分開記沒有改、已改及明確清除。訂清楚業務欄位是否容許空字串或移除,並驗證決定。若要真的儲存 null,merge patch 未必能表示所需分別,須用目標支援的其他方法。

用戶打開資料但沒有改電話,轉接程式應送 phone:null 嗎?

查看參考答案

按 merge-patch 意思不應。未改電話便不傳;只有明確且獲准清除,才送移除要求。

相關資源