考虑我们在一堆REST API之上构建了一个graphql服务器,我们有两个端点,Industry和Company。我们将它们全部包装到graphql服务器中,这允许我们进行如下查询:
Inventory
它会给我们:
{industry (name: "Education") {companies {id}}}
一个简单的查询。
如果我们提出更多要求,请说我们要求公司名称,它将返回
{data: {industry:{companies: [{id:1}, {id:2}]}}}
然而,在屏幕后面,这两个查询之间存在很大差异。第一个只询问id,哪个行业终点已经提供了它。第二个要求输入名称,您必须对公司端点进行额外调用才能获得该名称。
这样做的一种方法是始终将呼叫发送到公司端点,即使用户只询问ID,但我在想是否可以让解析器功能知道用户正在询问哪些字段,并使其更加智能化决定。
我不确定这是否遵循最佳做法。任何帮助表示赞赏。