簡體   English   中英

API中的部分更新

[英]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 根據客戶提供的枚舉列表,我們可以更新各個字段。

  1. 根據字段值采取措施。 因此,在這種情況下,如果CGPA傳遞為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM