返回带有关系的json对象是否更好?

时间:2017-07-06 13:59:34

标签: api asp.net-web-api asp.net-web-api2

我知道这可能在很大程度上取决于情况但是...... 如果我有两个不同的控制器。 Cotroller A是控制器B的父母。

如果致电我的终点"/api/a/"。它会让每个A和他们的孩子都回归。

有效吗?或者最好只返回端点"api/a"中没有子节点的所有As,并单独从端点获取它,如"api/b/[A's id]"

我可能对这个问题搞砸了很多。

但也许有人可以给我一些方向,我应该关注@_ @

1 个答案:

答案 0 :(得分:1)

答案真的取决于。 A多久会包含一次来自B的数据? B有多大?

如果答案是A几乎所有时间都需要数据B,并且B不是很大,那么我可能根本就没有B的控制器。在A的每个请求中,我都会包含并返回B。

如果答案是A,几乎从不需要B,而B相当大,那么在我的A对象中,我将包含一个BUrl属性,其中包含B的url,然后当我希望BI可以得到它。

最后另一个选择是只有一个可选参数,在请求时包含B. ?includeb =真

这实际上取决于具体情况。我倾向于使用更少的控制器,并在可行的情它的维护和开销较少。

相关问题