Получение 401 несанкционированного доступа с использованием заголовков для вызова API в Java? - PullRequest
0 голосов
/ 22 сентября 2019

Я использую контроллер 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 не авторизовано

Я новичок в этом и не знаю, как его решить.

...