【发布时间】:2021-09-12 14:19:03
【问题描述】:
我想实现一个基于 GraphQL spring-webflux 的应用程序。 我已经尝试过示例中显示的代码:https://github.com/graphql-java-kickstart/samples/tree/master/spring-boot-webflux
查询“hello”返回 Mono 的 toString() 值,而不是 Mono 持有的 String: hello Query
如果我尝试自定义对象的 Mono(此处为项目),我会收到如下错误: graphql.kickstart.tools.ResolverError:预期的源对象是“com.example.demo.pojo.Item”的实例,但得到的是“reactor.core.publisher.MonoJust”
我的 build.gradle 文件如下:
plugins {
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'com.graphql-java-kickstart:graphql-spring-boot-starter:11.0.0'
compileOnly 'com.graphql-java-kickstart:graphql-java-tools:11.0.1'
runtimeOnly 'com.graphql-java-kickstart:graphiql-spring-boot-starter:11.0.0'
runtimeOnly 'com.graphql-java-kickstart:voyager-spring-boot-starter:11.0.0'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}
返回 CompletableFuture 可行,但我更喜欢使用 Mono/Flux。
如果有任何关于将 webflux 与 GraphQL 结合使用的示例/指针,我们将不胜感激。
【问题讨论】:
-
什么是
graphiql?com.example.demo.pojo.Item是什么对象 -
graphiql 是一种以用户友好的方式与 graphQL 应用程序交互的工具。
标签: java graphql spring-webflux graphql-java