Пытаюсь добраться до api - PullRequest
1 голос
/ 29 мая 2020

Я пытаюсь добраться до этого api: https://www.football-data.org/. У меня есть ключ и имя токена. Из Postman я могу получить доступ к этому api с помощью авторизации «Api Key» с именем: X-Auth-Token и токеном XXXX. Но как это сделать из java с шаблоном отдыха? Как мне поместить свои заголовки на этот URL:

  public List<FootballDto> getFootballs() {
        HttpHeaders headers = new HttpHeaders();
        headers.add(tokenName,token);
        FootballDto[] footballResponse = restTemplate.getForObject(
                "https://api.football-data.org/v2/competitions/SA/scorers", FootballDto[].class
        );
    }

Большое спасибо :)

1 Ответ

1 голос
/ 29 мая 2020

Метод RestTemplate getForObject() не поддерживает заголовки настроек. Решение - использовать метод exchange(). Поэтому вместо restTemplate.getForObject(url, String.class, param) (без заголовков) используйте:

 HttpHeaders headers = new HttpHeaders();
 headers.set("Header-1", "value-1");
 headers.set("Header-2", "value-2");
 ...

 HttpEntity entity = new HttpEntity(headers);

 ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class, param);

Наконец, для получения результата используйте response.getBody().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...