2015-02-19 3 views
1

Я пытаюсь поймать некоторый POST-запрос, зарегистрировать сообщение (и, возможно, тело или параметры в будущем); затем передать их дальше booHost, так что клиент получит результат вызова:Верблюд: маршрутизация POST-запроса по URL-шаблону

from("restlet:http://localhost:8090/api/endpointFoo?restletMethod=post") 
      .log("oh, it's a message!") 
      .routeId("someAPI") 
      .to("http://booHost:8090/api/endpointFoo?bridgeEndpoint=true&restletMethod=post"); 

Это работает просто замечательно.

Но: Мне нужен шаблон URL, который будет работать таким образом. Я пытаюсь:

from("restlet:http://localhost:8090/api/{endpoint}?restletMethod=post") 
      .log("oh, it's a message!") 
      .routeId("someAPI") 
      .to("http://booHost:8090/api/{endpoint}?bridgeEndpoint=true&restletMethod=post"); 

«от» выстрелов, когда я делаю пост. Сообщение регистрируется.

Но «чтобы» кажется не лечить {конечной} как пары - он рассматривает его, как постоянную; поэтому результат этого вызова терпит неудачу.

Мне не нужны жестко закодированные конечные точки, потому что booHost API должен быть расширен в будущем без изменений Camel.

Другими словами, мне нужны все звонки в http://localhost:8090/api/ *, чтобы их ловили и отправляли в http://booHost:8090/api/ * на той же конечной точке.

Возможно, мне нужно использовать другой компонент? Или Как я могу это сделать?

Спасибо.

ответ

0

Благодаря @vikingsteve, я начал читать около recipientList.

Я изменил свой код в соответствии с this FAQ question

Окончательный вариант выглядит следующим образом:

from("restlet:http://localhost:8090/api/{endpoint}?restletMethod=post") 
      .log(LoggingLevel.INFO, "POST-request to /${headers.endpoint} was sent") 
      .routeId("someAPI") 
      .recipientList(simple("http://booHost:8090/api/${headers.endpoint}?bridgeEndpoint=true&restletMethod=post")); 

Он работает как это было предложено.

+1

Отлично :) Извините, мой код пропустил простую часть. – vikingsteve

+0

проблем нет, спасибо, что указал мне в правильном направлении! – ilyailya

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