因此,我有一個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