在 Mutation class 中的 DataFetchingEnvironment .getUser() 上返回 null

Returned null on DataFetchingEnvironment .getUser() in Mutation class

原问题:https://github.com/howtographql/graphql-java/issues/4

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

我没有在上下文变量上得到空值,但在 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

我是那个教程的作者,不幸的是现在它已经过时了......我正在努力用纯 graphql-java(没有 graphql-java-工具)重写它,这个我也建议您尝试一下。

目前,您的问题很可能是因为浏览器根本不发送用户 ID(在 Authorization header 中),或者即使发送了,也没有'匹配Mongo.

中的ID

GraphQLEndpoint 中的 createContext method 中放置一个断点,然后检查会发生什么。

本教程解释了您需要添加到客户端以开始发送 Authorization header 的代码,因此请确保您遵循了该代码。否则,只需确保它发送的 ID 与您在 Mongo.

中的 ID 相匹配