#spring-boot #spring-webflux #graphql-java
#spring-boot #пружина-webflux #graphql-java
Вопрос:
Мне нужно реализовать распознаватель запросов graphql для моего приложения reactive spring.
вот моя схема 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
Комментарии:
1. Просто обновление, в итоге я последовал этому примеру . Я изменил свой метод с
public Flux<Post> posts(){ ...}
наpublic Publisher<Post> posts(){ ...}
. Интерфейс издателя из org.reactivestreams. Внутри метода я вернул поток. Кроме того, мне пришлось изменить свой запрос на подписку.2. Привет @lizom, я сделал аналогичную реализацию… но как вы вызывали posts(), через http или ws ..?
3. Привет @user1912935, в моем случае я использовал graphql, поэтому post() на самом деле был подпиской на graphql. Поэтому я бы назвал это так : ` подписка { сообщения { идентификатор } }
Ответ №1:
Вы можете использовать .collectList().toFuture()
, а затем вернуть DataFetcher<CompletableFuture<T>>
, если используете graphql-java async
Комментарии:
1. Это блокировка.