我们有一个场景,其中我们有多个嵌套对象,例如:
-
一棵树可能有树枝
-
树枝可能结出果实
-
水果可能有
种子
我们的Api有许多不同需求的消费者:
-
有些人只想了解这棵树本身。
-
有些人想了解这棵树,以及树内的树枝。
-
有些人想了解某些树木,以及这些树木的所有树枝、果实和种子。
因此,理想情况下,我们会有一些类似GraphQl的端点,它允许您指定
对象
您想要并筛选这些:
-
{trees}//只获取树
-
{trees:branches}//获取树及其分支
但从我所看到的GraphQl是关于指定
字段
你想要的不是对象。因此,对于树查询,您需要指定希望接收的所有树和分支属性等。
这使得它在后端更加尴尬,因为我们需要为每个可以请求的字段都有一个映射层,并将其映射到相应的数据库字段中以构建查询。
是否存在GraphQL的用例,它们只是请求查询中的高级对象,而API只是返回这些对象及其上的每个属性?