Spring boot RestTemplate.exchange дает пустой набор результатов с объектом String.Class

Я использую Spring загрузочную версию 2.1.3 и пытаюсь сделать перерыв с RestTemplate. Пожалуйста, проверьте код ниже.

 final String uri = "https://devserver.slm.com/api/now/table/cmdb_ci_business_app";
        RestTemplate restTemplate = new RestTemplate();
        String plainCreds = "devTest:DevTest123";
        byte[] plainCredsBytes = plainCreds.getBytes();
        byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
        String base64Creds = new String(base64CredsBytes);
        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Basic " + base64Creds);
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
        ResponseEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class);
        log.info("Result output is: "+ response.getBody());

При выполнении кода я получаю в терминале следующий вывод.

[INFO ] 2020-07-01 18:12:42.906 [scheduling-1] ConsumingRest - Result output is: {"result":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}

Проблема в том, что я получаю нулевой вывод, тогда как если я запускаю тот же API с Postman, я получаю данные. Может ли кто-нибудь помочь мне понять, где я делаю ошибку?

Вот те же данные JSON, которые я получаю с Postman.

{
"result": [
    {
        "number": "APM013",
        "sys_created_on": "2019-09-03 14:16:52",
        "name": "Integration",
        "business_id": "PA913",
        "routine_id": "4303"
    },
    {
        "number": "AP014",
        "sys_created_on": "2019-09-03 14:16:54",
        "name": "AC Equipement",
        "business_id": "PA914",
        "routine_id": "1558"
    }
]}

С уважением, ДК

1 ответ

Вероятно, проблема здесь:

HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);

Изменив это на:

HttpEntity entity = new HttpEntity(headers);

вероятно исправит (если нет другой проблемы).

Также будет полезно, если вы сможете поделиться документацией по API, которую пытаетесь поразить.

Другие вопросы по тегам