Могу ли я получить параметризацию ResponseEntity (Spring) с параметризованным типом? - PullRequest
0 голосов
/ 05 июня 2018

Я использую RestTemplate и SpringBoot 2.0.

У меня есть этот класс, представляющий пользовательский ответ JSON на остальные вызовы.

MyCustomResponse<T> {
    private T content;

    public T getContent() {
        return content;
    }
}

Фрагмент кода ниже представляет собойпример использования:

String LOCALHOST = "http://localhost:8900";

final HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.ACCEPT, "application/json");

String url = String.format("%s/ticket/%s", LOCALHOST,  protocol);
final HttpEntity<Ticket> request = new HttpEntity<>(headers);

Это прекрасно работает:

    ResponseEntity<MyCustomResponse> response =
 testRestTemplate.getForEntity(url, RespostaPadrao.class);

Но это не то, что мне нужно, потому что getContent возвращает объект, который выглядит следующим образом:

Map< Map < String, Map < String, Map < String, Map < String, Integer >>>>> 

и потому что вместо этого я хочу протестировать объект Ticket.

В этой строке можно ли использовать отражение для параметризации ответа, или это невозможно?

ResponseEntity<MyCustomResponse> response = 
  testRestTemplate.getForEntity(url, MyCustomResponse.class);

Я знаю, какисправить это с помощью ResponseEntity<String> и проанализировать JSON для моего билета.Но что мне действительно нужно, так это знать, можно ли делегировать эту задачу на RestTemplate или нет.

Спасибо!

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