Я новичок в 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что-то не так с настройкой пути или сам подход здесь не так?