如何在提供的类方法中引用上下文对象?



我们正在使用graphql-java,并且使用com.coxautodev.graphql.tools.SchemaParser(来自graphql-java-tools(我们正在创建可执行模式 - 它工作得很好。现在我们需要添加用户信息并将其传播到我们的 graphql 方法逻辑中。显而易见的方法是使用"上下文"对象。

因此,mutations.graphql文件中有:

type Mutations
createGroup(input: CreateGroupInput): IdRequest
...

另一方面,有一个Java类具有相应的方法:

IdRequest createGroup(CreateGroupInput input) {
...
}

那么,在调用graphql.GraphQL.execute(myQuery, contextObject)时,如何将此contextObject读入上面的Java方法?

我一直在寻找的东西是DataFetchingEnvironment(请参阅获取数据(。

然后可以通过添加DataFetchingEnvironment作为最后一个参数在 Java 类中检索"contextObject",例如:

IdRequest createGroup(CreateGroupInput input, DataFetchingEnvironment environment) {
Object contextObject = environment.getContext();
...
}

最新更新