使用ftl进行骆驼休息响应
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ftl进行骆驼休息响应相关的知识,希望对你有一定的参考价值。
我有一个骆驼休息路线在正常运行后接受生产/消耗json。现在,我希望使用FTL创建json resopnse,但我无法做到。
这是我的代码:
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.
答案
我认为正确的网址需要双斜线:
.to("freemarker:file://temp/ftls/camSearch.ftl")
即使最正确的是三重斜杠。实际上,完整的语法是“file:// host / path”,localhost可以省略主机。这将导致你的情况
"file:///temp/ftls/camSearch.ftl"
另一答案
尝试只有freemarker和ftl的路径。像这样
freemarker:temp/ftls/camSearch.ftl
以上是关于使用ftl进行骆驼休息响应的主要内容,如果未能解决你的问题,请参考以下文章