Я использую контроллер GraphQL и получаю заголовки http в качестве заголовка запроса.например:
@RequestMapping(value = "/graphql", method = RequestMethod.POST, produces =
MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Map<String, Object> executeOperation(@RequestBody Map body, @RequestHeader
HttpHeaders authorizationHeader)
Я устанавливаю этот authorizationHeader в качестве контекста ввода выполнения, например:
GraphQLContext context = new GraphQLContext(authorizationHeader);
ExecutionInput executionInput = ExecutionInput.newExecutionInput().query(query).variables(variables).context(context).build();
В сборщике данных я получаю этот заголовок и передаю его службекласс для других вызовов Api.
GraphQLContext context = dataFetchingEnvironment.getContext();
HttpHeaders httpHeaders = context.getHttpHeaders();
Но когда я делаю другой вызов API в классе Service, используя этот заголовок, я получаю исключение неавторизованного доступа
HttpEntity<String>httpEntity = new HttpEntity<String>(headers);
responseEntity = restTemplate.exchange(
url, HttpMethod.GET,
httpEntity, String.class);
И исключение
исключение в methodorg.springframework.web.client.HttpClientErrorException $ Не авторизовано: 401 не авторизовано
Я новичок в этом и не знаю, как его решить.