如何在提供的 class 方法中引用 Context 对象?
How to reference Context object in provided class methods?
我们正在使用 graphql-java 和 com.coxautodev.graphql.tools.SchemaParser
(来自 graphql-java-tools) 我们正在创建可执行模式 - 它工作得很好。现在我们需要添加用户信息并将其传播到我们的 graphql 方法逻辑。显而易见的方法是使用 "context" object.
因此,在 mutations.graphql
文件中有:
type Mutations
createGroup(input: CreateGroupInput): IdRequest
...
另一方面,有一个Javaclass有相应的方法:
IdRequest createGroup(CreateGroupInput input) {
...
}
那么在调用graphql.GraphQL.execute(myQuery, contextObject)
时如何将这个contextObject
读入上面的Java方法中呢?
我要找的东西是 DataFetchingEnvironment
(参见 Fetching data)。
然后可以通过添加 DataFetchingEnvironment
作为最后一个参数在 Java class 中检索 "contextObject",例如:
IdRequest createGroup(CreateGroupInput input, DataFetchingEnvironment environment) {
Object contextObject = environment.getContext();
...
}
我们正在使用 graphql-java 和 com.coxautodev.graphql.tools.SchemaParser
(来自 graphql-java-tools) 我们正在创建可执行模式 - 它工作得很好。现在我们需要添加用户信息并将其传播到我们的 graphql 方法逻辑。显而易见的方法是使用 "context" object.
因此,在 mutations.graphql
文件中有:
type Mutations
createGroup(input: CreateGroupInput): IdRequest
...
另一方面,有一个Javaclass有相应的方法:
IdRequest createGroup(CreateGroupInput input) {
...
}
那么在调用graphql.GraphQL.execute(myQuery, contextObject)
时如何将这个contextObject
读入上面的Java方法中呢?
我要找的东西是 DataFetchingEnvironment
(参见 Fetching data)。
然后可以通过添加 DataFetchingEnvironment
作为最后一个参数在 Java class 中检索 "contextObject",例如:
IdRequest createGroup(CreateGroupInput input, DataFetchingEnvironment environment) {
Object contextObject = environment.getContext();
...
}