Возвращено значение null для DataFetchingEnvironment .getUser () в классе Mutation

Исходный вопрос: https://github.com/howtographql/graphql-java/issues/4

AuthContext context = env.getContext();
Link newLink = new Link(url, description, context.getUser().getId());

Я не получаю null для переменной контекста, но получаю null для context.getUser()

код: https://github.com/howtographql/graphql-java/blob/master/src/main/java/com/howtographql/hackernews/Mutation.java или мой код: https://github.com/JonathanSum/myOwnJavaGraphqlStarterKit/blob/master/src/main/java/com/howtographql/hackernews/Mutation.java


person Mr. Java    schedule 04.03.2018    source источник


Ответы (1)


Я автор этого руководства, которое, к сожалению, сейчас очень устарело ... Я работаю над его переписыванием на чистом graphql-java (без инструментов graphql-java-tools), и это то, что я бы порекомендовал вам попробовать как хорошо.

На данный момент ваша проблема очень вероятна либо потому, что браузер вообще не отправляет идентификатор пользователя (в заголовке Authorization), либо, если он отправляет, он не соответствует идентификатору в Mongo.

Поместите точку останова в createContext метод в GraphQLEndpoint и проверьте, что происходит.

В руководстве объясняется код, который необходимо добавить клиенту, чтобы начать отправку заголовка Authorization, поэтому убедитесь, что вы его выполнили. в противном случае просто убедитесь, что идентификатор, который он отправляет, совпадает с тем, что у вас есть в Mongo.

person kaqqao    schedule 05.03.2018
comment
Все хорошо. Я только что проверил документ. Документ очень похож на учебник. Я прочитаю документ, когда у меня будет время. В любом случае спасибо за вашу тяжелую работу. Ваш урок был забавным. - person Mr. Java; 22.04.2018