在抽象类中使用PagedResources

时间:2016-04-26 14:04:23

标签: java json generics spring-data-rest spring-hateoas

我有一个使用spring-data-rest项目公开数据的服务器,现在我正在编写服务来使用这些数据,我开始使用适合所有常见需求的通用服务,其中一个是获取Page对象

我将RestTemplate配置为使用建议here的Jackson2HalModule。

我尝试了很多组合,但我只能以非通用方式正确使用它:

PagedResources<Resource<Company>> response2 = restTemplate.exchange(getUrl(), HttpMethod.GET, HttpEntity.EMPTY, new ParameterizedTypeReference<PagedResources<Resource<Company>>>(){}).getBody();

但是尝试使用T的相同代码并不起作用(资源链接被反序列化,但Resource对象的内容为空)

PagedResources<Resource<T>> response3 = restTemplate.exchange(getUrl(), HttpMethod.GET, HttpEntity.EMPTY, new ParameterizedTypeReference<PagedResources<Resource<T>>>(){}).getBody();

通常我只能使用以下代码反序列化公司数据:

PagedResources<T> response1 = restTemplate.exchange(getUrl(), HttpMethod.GET, HttpEntity.EMPTY, PagedResources.class).getBody();

但是这个没有反序列化Resource对象,所以应该是Resource对象的Company&amp; Links数据存储在LinkedHashMap中。

我也尝试使用LinkedHashMap上的对象映射器和数据,但我没有成功。这是一个漫长的一天,所以我可能太接近,看不到这样做的正确方法。我很感激任何帮助。谢谢。

问题:在这种情况下,有没有办法让正确的仿制药工作?

0 个答案:

没有答案