Настройка конечных точек (верблюд) - PullRequest
0 голосов
/ 01 июня 2018

Я новичок в Camel и учусь настраивать маршруты.

Итак, я начал с простого сценария, с которого я нажал URL, и он возвращает мне некоторые данные.Для этого примера я использовал http://services.groupkt.com/country/get/all для возврата этих данных.

Это настройка для моего пути

from("direct:greet")
      .autoStartup(true)
      .routeId("greet")
      .setHeader(Exchange.HTTP_METHOD, constant(HttpMethods.GET))
      .to("http4://services.groupkt.com/country/get/all")

Теперь у меня есть requestMapping на URL /check икогда я нажимаю на этот URL http://localhost:8080/check, он возвращает

{"timestamp": 1527882311362, "status": 404, "error": "Not Found", "message": "Нет доступных сообщений"," path ":" / check "}

Я ожидал, что отклик JSON отобразится с данными для всех перечисленных стран, которые вы видите, когда нажимаете на URL (http://services.groupkt.com/country/get/all) в вашем браузере.

Сопоставление в другом классе:

@RequestMapping(value = "/check", method = RequestMethod.GET)
  public String get(@RequestParam(value = "name") String name) {
    return serviceProcessor.getServiceResponse(name);

getServiceResponse выглядит следующим образом:

public String getServiceResponse(String name) {
final ModelCamelContext context = userServiceRoute.getContext();
final ProducerTemplate template = new DefaultProducerTemplate(context);
try {
  template.start();
} catch (Exception e) {
  LOGGER.error("Error starting producerTemplate with userServiceRoute" + e);
}
final Endpoint endpoint = context.getEndpoint("direct:greet");
template.setDefaultEndpoint(endpoint);
return template.requestBody((Object)name, String.class);

}

Isчто-то не так с настройкой пути или сам подход здесь не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...