我正在研究一個新的API,我試圖決定是否是一個很好的做法,包括可用選項列表以及選定的選項時從數據庫中返回一個實體。這是一個很好的做法,爲實體返回可用的選項
就拿
class car
{
int Id;
Type Type;
List<Type> Types;
}
class Type
{
int Id;
string Name;
}
我已經看到了這個做左右逢源,所以我在想,如果有一個偏好。
感謝
我正在研究一個新的API,我試圖決定是否是一個很好的做法,包括可用選項列表以及選定的選項時從數據庫中返回一個實體。這是一個很好的做法,爲實體返回可用的選項
就拿
class car
{
int Id;
Type Type;
List<Type> Types;
}
class Type
{
int Id;
string Name;
}
我已經看到了這個做左右逢源,所以我在想,如果有一個偏好。
感謝
你的設計是錯誤的,讓我們用一個例子看看:
我們有兩個車對象car1
和car2
,和類型type1
,type2
,type3
。在查詢汽車名單,結果對象是:
{car1, type1, {type1,type2,type3}}
{car2, type2, {type1,type2,type3}}
你可以看到兩次返回相同的列表中的冗餘?這是你的設計錯誤。
如果真的有必要,您只需要傳遞類型列表,否則您將發送重複數據。
對我而言,返回汽車類型列表並不是一個好的設計。考慮到汽車作爲一個實體,汽車將是一個特定的類型。當然,像@DiegoS提到的那樣,會有小的價值冗餘。
如果需要,您可能有一個單獨的API用於返回汽車的所有有效類型。
通常我會希望任何API都有一些文檔,其中列舉和描述了可能的選項。只是提取記錄通常不會返回此信息。您*可*擁有另一個API端點,僅用於返回選項列表。 – David
提供額外的方法來獲取某人可能需要的額外元數據。除非有確切的需求,否則不要給人們額外的東西。否則你只是在沒有很好的理由的情況下增加回應,除了'有些人可能會或不想要這個' –
你的意思是「可用選項列表」,究竟是什麼意思?代碼與它有什麼關係?什麼是「選項」? – CodeCaster