我可以使用参数化的类型获得ResponseEntity(Spring)参数化吗?

时间:2018-06-05 16:40:27

标签: java spring-mvc

我正在使用RestTemplateSpringBoot 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解析到我的Ticket。但我真正需要的是知道是否可以将此任务委托给RestTemplate

谢谢!

0 个答案:

没有答案