簡體   English   中英

如何使用嵌入資源進行干燥

[英]How to DRY with embed resources

我目前正在設計一個將由ReactJS應用程序使用的REST API。 兩個實際端點如下:

/species
    id
    types
        [name, name] // each specy has 2 types, contained in an array

/types
    name

我們可以看到,我們有一個端點,它提供了所有type資源的列表,而species端點提供了特定type

在我的ReactJS應用程序中,我將有一個Select字段,其中包含types列表(通過/types端點獲取),以及從/species獲取的所有species的List。 然后,用戶可以通過在“選擇”字段中選擇類型來過濾物種。

在Select組件中維護types列表仍然是DRY,並且在Specy組件數組中有species列表嗎? 或者我應該找到一種方式來注入types從自己的終端獲取specy

如果您只有一個/species端點並且您創建了所有類型的列表,則無法覆蓋分配了零種類型的情況。 這可能是也可能不是問題。 您還必須始終加載所有物種以獲得完整的類型列表。 這可能會浪費很多帶寬。


相反,請考慮以下方法:

端點/types為您提供所有可用類型的列表,這是您最初填寫下拉列表所需的全部內容。 現在,一旦用戶選擇了特定類型,您就可以調用endpoint /types/{typeName}/species ,它會為您提供分配給{typeName}類型的所有物種的列表。 同樣,您只是加載用戶想要查看的數據塊。

使用這種方法,您可以避免在應用程序達到其目的之前必須在前端聚合數據並且必須下載完整的數據集。


旁注:物種的單數也是物種 ,而不是物種。 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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