2015-02-03 3 views
2

Я хочу узнать, не хватает ли я чего-то по отношению к http-входящему шлюзу. Я хочу выполнить поиск (результаты будут json) с использованием необязательных параметров. Ниже приведен пример определенного шлюза:Http-входящий шлюз с использованием необязательных параметров запроса

<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> 

В настоящее время я должен поставить оба параметра для поиска работы в противном случае запрос не передается на канал запроса.

В данный момент поиск не использует параметры.

Это возвратит результаты: http://localhost/test123/search?param1=123&param2=234

Хотя это не вернет ничего: http://localhost/test123/search?param1=123

Есть ли альтернативный способ отображения параметров запроса в заголовки сообщений интеграции для дальнейшей обработки вниз по цепочке? Может ли это быть ошибкой?

Я использую Spring Integration 4.1.2, Windows, Java 7.

Спасибо.

Т

ответ

1

Поскольку requestParams является Map, использовать #requestParams['param2'] для дополнительных параметров. Использование точечного синтаксиса требует наличия параметра.

+0

Perfect. Я знал, что было что-то простое, что мне не хватало. Еще раз ... удивительное время отклика от команды Spring. Спасибо, Гэри. – DubMoth

Смежные вопросы