Http inbound-gateway 使用可选的请求参数
Http inbound-gateway using optional request parameters
我想知道我是否遗漏了与 http inbound-gateway 有关的内容。我想使用可选参数执行搜索(结果将是 json)。以下是已定义网关的示例:
<int-http:inbound-gateway id="inboundSearchRequestGateway" supported-methods="GET, POST" request-channel="searchRequest" reply-channel="searchResults"
mapped-response-headers="Return-Status, Return-Status-Msg, HTTP_RESPONSE_HEADERS" view-name="/test123" path="/search" reply-timeout="50000"
error-channel="errorChannel">
<int-http:header name="param1" expression="#requestParams.param1"/>
<int-http:header name="param2" expression="#requestParams.param2"/>
</int-http:inbound-gateway>
目前我必须提供两个参数才能使搜索工作,否则请求不会传递到请求通道。
有问题的搜索目前没有使用参数。
这将 return 结果:
http://localhost/test123/search?param1=123¶m2=234
虽然这 return 什么也没有:
http://localhost/test123/search?param1=123
是否有任何替代方法可以将请求参数映射到集成消息 headers 以进一步处理链下的问题?这可能是一个错误吗?
我正在使用 Spring 集成 4.1.2,Windows,Java 7.
谢谢。
T
因为 requestParams
是 Map
,所以使用 #requestParams['param2']
作为可选参数。使用点分语法要求参数存在。
我想知道我是否遗漏了与 http inbound-gateway 有关的内容。我想使用可选参数执行搜索(结果将是 json)。以下是已定义网关的示例:
<int-http:inbound-gateway id="inboundSearchRequestGateway" supported-methods="GET, POST" request-channel="searchRequest" reply-channel="searchResults"
mapped-response-headers="Return-Status, Return-Status-Msg, HTTP_RESPONSE_HEADERS" view-name="/test123" path="/search" reply-timeout="50000"
error-channel="errorChannel">
<int-http:header name="param1" expression="#requestParams.param1"/>
<int-http:header name="param2" expression="#requestParams.param2"/>
</int-http:inbound-gateway>
目前我必须提供两个参数才能使搜索工作,否则请求不会传递到请求通道。
有问题的搜索目前没有使用参数。
这将 return 结果:
http://localhost/test123/search?param1=123¶m2=234
虽然这 return 什么也没有:
http://localhost/test123/search?param1=123
是否有任何替代方法可以将请求参数映射到集成消息 headers 以进一步处理链下的问题?这可能是一个错误吗?
我正在使用 Spring 集成 4.1.2,Windows,Java 7.
谢谢。
T
因为 requestParams
是 Map
,所以使用 #requestParams['param2']
作为可选参数。使用点分语法要求参数存在。