[英]Partial update in an API
我有一個用例,其中需要更新API的某些字段。
例如:
如果API為UpdateStudentDetails
並且需要輸入以下內容:
Name
CGPA
Address
Hostel Name
在這里,我只想更新Name
。
一種方法是獲取所有字段,然后更新Name
並使用所有字段調用UpdateStudentDetails
。 在更新呼叫之前,它需要在客戶端進行一次讀取呼叫。
其他方式是:
1.詢問客戶需要更新的內容。 在這種情況下,API簽名可能如下所示:
Name
CGPA
Address
Hostel Name
StudentDetailsToUpdate
這里的StudentDetailsToUpdate
是枚舉列表,枚舉可以具有諸如NAME, CGPA, ADDRESS, HOSTEL_NAME
。 根據客戶提供的枚舉列表,我們可以更新各個字段。
null
則客戶端不希望更新它,如果Name
non-null
則客戶端希望更新。 我無法在上述兩種方法中找到主要的利弊,也無法尋求社區的指導。 我有點傾向於第一種方法,因為我的意圖很明確,而且我沒有根據字段值來做決定,因為某些其他語言可能沒有null概念。
我會選擇第二種選擇。
如果您是第一次學習,則必須編寫所有這些代碼,僅用於檢查需要更新哪些參數。
選項3是真正不錯的選擇:)使用構建器模式(您可以在Google上輕松搜索它,因為它是一種廣泛使用的模式)。 這樣,您可以鏈接所有需要更新的值,如果它們不為null,則更新它們。
你會得到類似
UpdateStudentDetails details = new UpdateStudentsBuilder().withName("Tony").withHostelName("Some nice hostel").build();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.