Api 返回带关系的json对象更好还是不带关系的json对象更好?

Api 返回带关系的json对象更好还是不带关系的json对象更好?,api,asp.net-web-api,asp.net-web-api2,Api,Asp.net Web Api,Asp.net Web Api2,我知道这可能在很大程度上取决于形势,但是。。 如果我有两个不同的控制器。辅助辊A是控制器B的父级 如果调用我的端点/api/a/。它将返回每个A和他们的每个孩子 有效率吗?或者,如果只从端点api/a返回所有As,而不返回它们的子元素,并单独从端点api/b/[a的id]获取它们,会更好吗 我可能把这个问题搞砸了 但是也许有人能给我一些我应该遵循的方向答案真的要看情况而定。A多长时间包含一次B的数据?B有多大 如果答案是A几乎一直都需要数据B,而且B不是很大,那么我可能根本就不会有B的控制器。在

我知道这可能在很大程度上取决于形势,但是。。 如果我有两个不同的控制器。辅助辊A是控制器B的父级

如果调用我的端点/api/a/。它将返回每个A和他们的每个孩子

有效率吗?或者,如果只从端点api/a返回所有As,而不返回它们的子元素,并单独从端点api/b/[a的id]获取它们,会更好吗

我可能把这个问题搞砸了


但是也许有人能给我一些我应该遵循的方向答案真的要看情况而定。A多长时间包含一次B的数据?B有多大

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

如果答案是A几乎不需要B,B相当大,那么在我的A对象中,我会包含一个BUrl属性,该属性的url指向B,然后当我想要B时,我可以得到它

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


这要视情况而定。我喜欢较少的控制器,并在实际情况下包含数据。它的维护和开销更少。

如何在属性中包含url?谢谢你的回答;3.