1

我有几个“int-http:inbound-gateway”,我需要其中一个根据请求提供的 http 方法指向不同的服务。

<int-http:inbound-gateway path="....." supported-methods="POST,PUT"/>

此时我有 2 个不同的端点,我正在寻找一些基于 rest-method 的路由器,但我没有找到关于这个主题的任何信息。

有什么帮助吗?

4

1 回答 1

1

您可以为此使用 header-value-router,因为 http 方法是在消息头中自动设置的。

像这样的东西

<int-http:inbound-channel-adapter channel="input.channel"
    path="/log" supported-methods="PUT,POST" request-payload-type="java.lang.String"/>

<int:channel id="input.channel"/>

<int:header-value-router input-channel="input.channel" header-name="#{T(org.springframework.integration.http.HttpHeaders).REQUEST_METHOD">
    <int:mapping value="PUT" channel="put.input.channel"/>
    <int:mapping value="POST" channel="post.input.channel"/>
</int:header-value-router>

希望有帮助

于 2013-06-27T20:04:57.467 回答