我需要POST一个REST服务调用并获取它返回的数据(所有这些都是使用JSON)。我有一个出站网关,其回复通道作为链,链有一个变压器。
<int-http:outbound-gateway
url="#{appProperties['rootUrl']}#{appProperties['myMethod']}"
request-channel="myRequestChannel" reply-channel="myResponseChannel" >
</int-http:outbound-gateway>
<int:channel id="myResponseChannel"/>
<int:chain input-channel="myResponseChannel">
<int:transformer ref="genericResponseTransformer"/>
</int:chain>
然而,当我通过变换器进行调试时,我得到的有效负载只是一个HttpStatus对象。
也许我做错了什么?任何帮助将不胜感激。谢谢!
答案 0 :(得分:9)
如果未在网关中指定expected-response-type
,则默认行为是响应消息仅包含状态代码(expected-response-type为null)。尝试设置expected-response-type="java.lang.String"
:
<int-http:outbound-gateway
url="#{appProperties['rootUrl']}"
http-method="#{appProperties['myMethod']}"
expected-response-type="java.lang.String"
request-channel="myRequestChannel" reply-channel="myResponseChannel" />