Я звоню на верблюде из контроллера Spring Boot. Верблюжий маршрут вызывает службу REST, которая возвращает строковое значение, и я пытаюсь вернуть это значение из верблюжьего маршрута в контроллер. Ниже находится контроллер Spring Boot:
@RestController
@RequestMapping("/demo/client")
public class DemoClientController {
@Autowired private ProducerTemplate template;
@GetMapping("/sayHello")
public String sayHello() throws Exception {
String response = template.requestBody("direct:sayHelloGet", null, String.class);
return response;
}
}
И ниже мой верблюжий маршрут:
@Component
public class MyRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("direct:sayHelloGet")
.log("Route reached")
.setHeader(Exchange.HTTP_METHOD, simple("GET"))
.to("http://localhost:8080/demo/sayHello")
.log("${body}");
}
}
В маршруте журнал печатает возвращаемое значение из службы REST, но эту строку не возвращается в контроллер. Кто-нибудь может подсказать, как вернуть значение в контроллер Spring Boot?
Используемая версия Spring Boot - 2.2.5, Apache Версия Camel - 3.0.1.