0

我有一个像这样定义的http入站适配器-

<int-http:inbound-channel-adapter id="httpInboundAdapter"
channel="receiveChannel"
name="/inboundAdapter.htm"
supported-methods="GET, POST" />

<int:channel id="receiveChannel"/>

<int:service-activator input-channel="receiveChannel" expression="@sayHello.sayHello(payload)" />

我希望能够区分 GET 和 POST 请求并对它们做出不同的响应。我怎么能这样做..?

4

1 回答 1

1

消息receiveChannel的标题http_requestMethod将设置为“GET”或“POST”。

您可以使用expression="@sayHello.sayHello(payload, headers['http_requestMethod'])",其中第二个参数是字符串。

为避免对文字进行硬编码,您可以使用headers[T(org.springframework.integration.http.HttpHeaders).REQUEST_METHOD].

仅供参考REQUEST_URLUSER_PRINCIPAL也有人居住;并且,在适配器/网关上,您还可以使用 http 请求参数或 URI 变量填充其他标头。

于 2013-05-03T01:22:54.563 回答