如何在提供的类方法中引用Context对象?

时间:2018-08-31 13:02:14

标签: graphql graphql-java

我们正在使用 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方法中?

1 个答案:

答案 0 :(得分:0)

我要找的东西是DataFetchingEnvironment(请参阅Fetching data)。

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

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