2017-07-06 49 views
0

我知道這可能很大程度上取決於情況,但是.. 如果我有兩個不同的控制器。 Cotroller A是控制器B的父親。返回一個帶關係或不帶關係的json對象會更好嗎?

如果調用我的終點"/api/a/"。它會返回每個A和他們的每個孩子。

這是否有效?或者更好的方法是將所有從端點"api/a"返回所有從沒有他們的孩子,並使其從單獨的端點得到它像"api/b/[A's id]"

我可能搞砸了很多這個問題。

但也許有人可以給我某種我應該遵循@_ @

回答

1

答案真的取決於方向。 A多久會包含來自B的數據? B有多大?

如果答案是A幾乎總是需要數據B,而B不是很大,那麼我可能根本就沒有B的控制器。在A的每一個請求中,我都會包含並返回B.

如果答案是A,幾乎從不需要B,而B很大,那麼在我的A對象中,我會包含一個BUrl屬性,它具有B到B的URL,然後當我希望B可以去獲取它。

最後,另一種選擇是隻需要一個可選參數,其中包含B請求。 ?includeb = true

這真的取決於情況。我喜歡更少的控制器,並在實際情況下包括數據這是較少的維護和開銷。

+0

你會如何在地址中包含網址?並感謝您的回答; 3 – bunakawaka