【发布时间】:2017-03-16 10:00:47
【问题描述】:
例如:我们有一个 User 模型,它又包含多个 Company 实体。我看到了 2 个解决方案:
1) 古典。制作如下 API:
/users/
/users/3/
/users/3/companies/
并分别发出/users 或companies 请求。但是,如果我们需要在一个视图中同时拥有user 和他/她的companies 信息(在 Angular2 上) - 我们需要向服务器发送 2 个请求。
2) 将相关/嵌套数据放入一级对象模型中。请求中:
/users/3/
服务器将提供有关用户及其公司的信息。在这种情况下,我们会获得 1 个请求的所有信息。但同样,该公司拥有无限数量的存储实体。如果在一个单独的视图中需要它们怎么办?
我更倾向于第一个选项,但我对 REST 样式的描述感到困惑:“视图必须完全代表资源。”满足此要求可以导致将资源划分为子资源,并因此导致更小的表示。 "
请提供建议,由于缺乏经验,我怀疑在这种情况下哪种决定是正确的。哦,是的,我忘记了,使用 Django-Rest-Framework 的 Django (Python) 后端 - 所有这一切都是 1000 名用户的 SaaS。
【问题讨论】:
标签: rest api http django-rest-framework client-server