Я использую 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
или нет.
Спасибо!