spring-integration:如何将post请求参数传递给http-outbound

时间:2013-11-19 22:37:56

标签: spring-integration

我需要将post请求参数传递给int-http:outbound-gateway,并且找不到任何简单的方法来执行此操作。我要做的是向沙发数据库发出一个http请求,只需一个请求就可以获取多个文档,如沙发数据库文档中所述:

curl -d '{"keys":["bar","baz"]}' -X POST http://127.0.0.1:5984/foo/_all_docs?include_docs=true

那么如何将名为'keys'的param传递给int-http:outbound-gateway? (我在消息的有效载荷中有我需要的所有数据)

<int-http:outbound-gateway request-channel="requestChannel" 
                     url="http://127.0.0.1:5984/foo/_all_docs?include_docs=true" 
                     http-method="POST"
                     expected-response-type="java.lang.String"/>

1 个答案:

答案 0 :(得分:1)

入站消息的有效负载成为POST的主体;选定的标题已映射,您可以使用多个标题映射选项控制它;请参阅documentation

如果您需要将一些java对象转换为上面的JSON,您可以在网关的上游添加转换器,或者将自定义MessageConverter配置到网关本身。

你的curl命令正在发送JSON作为POST的主体;网关将做同样的事情。