Как ссылаться на объект Context в предоставляемых методах класса? - PullRequest
0 голосов
/ 31 августа 2018

Мы используем 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 голосов
/ 03 сентября 2018

Я искал DataFetchingEnvironment (см. Выборка данных ).

Затем «contextObject» можно получить в классе Java, добавив DataFetchingEnvironment в качестве последнего аргумента, например:

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