【问题标题】:Is it possible to return spring webflux Flux<T> / Mono<T> for Graphql Queries?是否可以为 Graphql 查询返回 spring webflux Flux<T> / Mono<T>?
【发布时间】:2021-03-09 14:18:37
【问题描述】:

我需要为我的响应式 Spring 应用实现一个 graphql 查询解析器。

这是我的 graphlq 架构:

 type Post{
    id: String!
    title: String 
}

type Query {
    posts: [Post!]!
}

我的解析器看起来像这样:

 public Flux<Post> posts(){ ...}

我正在使用 graphiql-spring-boot-starter 5.0.2 和 graphql-java-tools 5.2.4

【问题讨论】:

  • 只是一个更新,我最终关注了这个example。我将方法从public Flux&lt;Post&gt; posts(){ ...} 更改为public Publisher&lt;Post&gt; posts(){ ...}。来自 org.reactivestreams 的 Publisher 接口。在方法内部,我返回了一个 Flux。另外,必须将我的查询更改为订阅。

标签: spring-boot spring-webflux graphql-java


【解决方案1】:

如果你使用的是graphql-java async,你可以使用.collectList().toFuture()然后返回DataFetcher&lt;CompletableFuture&lt;T&gt;&gt;

【讨论】:

  • 那是阻塞。
猜你喜欢
  • 2017-05-29
  • 2019-03-26
  • 1970-01-01
  • 2022-12-23
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 2020-03-20
  • 2021-09-30
相关资源
最近更新 更多