如何使用resolverInfo检查graphql查询选择集中是否存在特殊字段



我有一个像这样的graphql查询:

query Query {
edge_feed_posts(first: 15) {
edges {
node {
id
url
title
edge_likes(first: 10) {
count
edges {
node {
id
percent
liked_at
}
}
}
}
}
}
}

我需要知道字段edges是否存在于edge_likes中?

例如:

function edge_likes_resolver(parent, args, context, graph) {
if (graph.operation.selectionSet.hasField("edges")) {
// do something...
}
}

操作中没有一个简单的解析器方法来检查selectionSet链,但您可以执行类似的操作

const [currentSelections] = operation.selectionSet.selections;
currentSelections.selectionSet.selections.find(
({ name }) => name.value === 'edges')
);

相关内容

最新更新