因此,我有一个http出站网关调用给定的RESTful端点返回一个JSON数组。泛型类型和HTTP出站网关结果
<int-http:outbound-gateway id="shipments"
http-method="GET"
expected-response-type="java.util.List"
url="http://codeserver.net/shipments?order={orderId}">
<int-http:uri-variable name="orderId" expression="payload.
</int-http:outbound-gateway>
正如你所看到的,我指定了预期结果类型的原始类型。底层的GSON转换器(杰克逊也一样)最终返回了一张地图列表。我想知道的是,是否有方法在集合中指定泛型类型的性质。
我一直无法弄清楚如何指定ParameterizedTypeReference
底层RestTemplate
现在,它它映射到一个List<Map<String,Object>>
使用以便列表对象返回BE List<Shipment>
型的,而不是因为它。
似乎没有办法在这里处理泛型。
有趣的是json-to-object-transformer
似乎也遭受同样的问题。
有没有人知道如何处理泛型类型时,这种类型的HTTP网关集成或将不得不求助于写我自己的变压器的东西这么基本?
它看起来像吉拉为Spring集成包含有关如何做到这一点的一些信息。它看起来很丑陋。我不知道是否有更好的方法来做到这一点:[HttpRequestExecutingMessageHandler在执行expectedResponseTypeExpression时丢失了泛型](https://jira.spring.io/browse/INT-3052?jql = text%20〜%20%22Generic%20Type%20and%20expected-response-type%22) – 2014-09-23 23:26:39