使用 Apollo Federated GraphQL,有没有办法对来自外部实体的值进行排序/分页?
Posted
技术标签:
【中文标题】使用 Apollo Federated GraphQL,有没有办法对来自外部实体的值进行排序/分页?【英文标题】:Using Apollo Federated GraphQL, is there a way to sort/paginate on a value from an external entity? 【发布时间】:2021-02-10 04:48:15 【问题描述】:是否可以将查询输入中的字段标记为需要由不同服务扩展的字段?
使用federation-demo 来说明我的问题,但要保持简单一点。只有一个 Account 服务和一个 Reviews 服务,并向 User 添加一个 karma
字段,是否可以根据 User karma 过滤评论。
帐户服务,向用户添加 karma int:
extend type Query
me: User
type User @key(fields: "id")
id: ID!
name: String
username: String
karma: Int!
评论服务,添加评论查询:
extend type Query
reviews(minKarma: Int): [Review!]!
type Review @key(fields: "id")
id: ID!
body: String
author: User @provides(fields: "username")
product: Product
extend type User @key(fields: "id")
id: ID! @external
username: String @external
karma: Int! @external
reviews: [Review]
extend type Product @key(fields: "upc")
upc: String! @external
reviews: [Review]
在我的 Query.reviews 解析器中,我想过滤掉所有 review.author.karma 小于指定 minKarma 的评论。
我如何告诉网关,当在查询输入中指定 minKarma 时,我希望首先查询 Account 服务,并将用户的表示传递到 Review 服务,每个用户的业力附加到以作者的身份审核,以便我可以进行过滤?
回到本文顶部的问题,我可以将minKarma
字段标记为需要User.karma
吗?
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:这也是困扰我的问题。
【讨论】:
你找到解决办法了吗?以上是关于使用 Apollo Federated GraphQL,有没有办法对来自外部实体的值进行排序/分页?的主要内容,如果未能解决你的问题,请参考以下文章
论文导读- SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks(去服务器的多任务图联邦学习)
论文导读- SpreadGNN: Serverless Multi-task Federated Learning for Graph Neural Networks(去服务器的多任务图联邦学习)