Ответ верблюда с использованием ftl - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть верблюжий маршрут отдыха, который производит / потребляет json после своей работы. Теперь я хочу, чтобы ответ json создавался с использованием FTL, но я не могу этого сделать.

Вот мой код:

rest("/").bindingMode(RestBindingMode.auto).description("Search for CAF").consumes("application/json").produces("application/json")
                .post("/search/cam")
                .type(CAMRequestDTO.class)
                .outType(CAMResponseDTO.class)
                .route().routeId("search-caf")
                .process(camSearchPreProcessor)
                .bean(camSearchService, "getCAMDetails(${body})")
                .streamCaching()
                .to("freemarker:file:/temp/ftls/camSearch.ftl")//problem
                .end().endRest();

Я не могу использовать здесь шаблон ftl, так как он выдает:

---------------------------------------------------------------------------------------------------------------------------------------
freemarker.template.TemplateNotFoundException: Template not found for name "/temp/ftls/camSearch.ftl".
The name was interpreted by this TemplateLoader: org.apache.camel.component.freemarker.FreemarkerComponent$1@4b35d31f.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Я думаю, что правильный URL требует двойной косой черты:

 .to("freemarker:file://temp/ftls/camSearch.ftl")

Даже если наиболее правильным является тройной слэш. На самом деле полный синтаксис «file: // host / path», и host может быть опущен для localhost. Это приведет к вашему делу в

"file:///temp/ftls/camSearch.ftl"
0 голосов
/ 04 сентября 2018

Попробуйте использовать только freemarker и путь к ftl. Как это

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