2017-09-05 24 views
-2

我正在研究一個新的API,我試圖決定是否是一個很好的做法,包括可用選項列表以及選定的選項時從數據庫中返回一個實體。這是一個很好的做法,爲實體返回可用的選項

就拿

class car 
{ 
    int Id; 
    Type Type; 
    List<Type> Types; 
} 

class Type 
{ 
    int Id; 
    string Name; 
} 

我已經看到了這個做左右逢源,所以我在想,如果有一個偏好。

感謝

+0

通常我會希望任何API都有一些文檔,其中列舉和描述了可能的選項。只是提取記錄通常不會返回此信息。您*可*擁有另一個API端點,僅用於返回選項列表。 – David

+0

提供額外的方法來獲取某人可能需要的額外元數據。除非有確切的需求,否則不要給人們額外的東西。否則你只是在沒有很好的理由的情況下增加回應,除了'有些人可能會或不想要這個' –

+0

你的意思是「可用選項列表」,究竟是什麼意思?代碼與它有什麼關係?什麼是「選項」? – CodeCaster

回答

1

你的設計是錯誤的,讓我們用一個例子看看:

我們有兩個車對象car1car2,和類型type1type2type3。在查詢汽車名單,結果對象是:

  • {car1, type1, {type1,type2,type3}}
  • {car2, type2, {type1,type2,type3}}

你可以看到兩次返回相同的列表中的冗餘?這是你的設計錯誤。

如果真的有必要,您只需要傳遞類型列表,否則您將發送重複數據。

0

對我而言,返回汽車類型列表並不是一個好的設計。考慮到汽車作爲一個實體,汽車將是一個特定的類型。當然,像@DiegoS提到的那樣,會有小的價值冗餘。

如果需要,您可能有一個單獨的API用於返回汽車的所有有效類型。

相關問題