如何从RestController向graphql上下文/数据获取环境添加用户名

时间:2018-03-20 17:40:22

标签: java spring-boot graphql graphql-java

我有一个带有单个端点的弹簧控制器,可以接收所有graphql查询/变异请求。端点如下所示

@RequestMapping(value="/test", method = RequestMethod.POST)
public ResponseEntity testService(@RequestHeader("user") String userName, 
@RequestBody String query) {
ExecutionResult result = graphQL.execute(query);
}

我已正确设置了我的graphql对象。如何将请求头中的用户名传递给graphql查询,以便数据获取器可以检索它以更新userModified信息?

1 个答案:

答案 0 :(得分:2)

不要使用简单的GraphQL#execute(String)方法,而是使用功能更强大的版本GraphQL#execute(ExecutionInput)

E.g。

ExecutionResult executionResult = graphQL.execute(ExecutionInput.newExecutionInput()
                .query(query)
                .context(username)
                .build());