例如:我們有一個用戶模型,它又有幾個公司實體。我看到2個解決方案:從REST API獲取相關/嵌套數據的最佳做法是什麼?
1)古典。做一個像API:
/users/
/users/3/
/users/3/companies/
,並分別出具/users
或companies
請求。但是,如果我們需要在一個視圖中(在Angular2上)同時擁有user
和他/她的companies
信息 - 我們需要向服務器發送2個請求。
2)將相關/嵌套的數據放在level-1對象模型中。在請求中:
/users/3/
服務器將提供有關用戶以及他的公司的信息。在這種情況下,我們獲得1個請求的所有信息。但同樣,該公司擁有無限數量的存儲實體。如果在一個單獨的視圖中需要它們會怎樣?
我更傾向於第一種選擇,但我對REST風格的描述感到困惑:「視圖必須完全代表資源。」滿足這一要求可能會導致將資源劃分爲兒童資源,並因此導致較小的表示。 「
請幫助我的建議,我懷疑缺乏經驗在這種情況下,什麼樣的決定是正確的。哦,是的,我忘了,使用Django-Rest-Framework的Django(Python)Backend - 所有這些是一個SaaS爲〜1000個用戶。