如何解决在Apollo客户端查询中过滤查询中的数据
我正在构建一个Typescript SDK,用于汇总来自多个不同API和其他数据源的数据,并通过GraphQL接口公开它。我不仅需要将文本或序列化对象从GraphQL客户端传递到解析器,还需要在客户端定义解析器,以便可以通过解析器的上下文对象传递自定义(代理,可观察到)的javascript对象。
我正在将Apollo Client与apollo-link-state
一起使用来调用我的查询解析器,但是,我找不到一个好的模式来让用户过滤他从查询中获取的数据。
我使用apollo-server
构建的GraphQL API的时间使我能够传递一个where
对象,该对象过滤来自解析器的数据,而无需在解析器端编写自定义逻辑来考虑所有问题where
对象的可能值。因此,我通常会这样查询:
getFoo (where: { bar: '3'}) {
bar
}
我是否错误地认为上述查询的apollo-server
解析器是否在没有任何解析器筛选逻辑的情况下进行了where bar = '3'
筛选?是否存在通配符过滤器这样的功能?如果存在,我是否可以在这样的客户端查询中使用它?:
getFoo (where: { bar: '3'}) @client {
bar
}
如果无法实现,是否需要在每个解析器中手动实现此where
对象过滤器?哪个好的模式呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。