我正在开发一个Spring Boot项目,其中Thymeleaf被用作模板引擎。我在这个项目上设置了Swagger,所以我希望能够在我的Thymeleaf内容中提供静态内容。
" example.com/help"应该返回一个模板。
" example.com/docs"应该返回静态内容。
目前:
@RequestMapping("/docs")
public String index() {
return "index.html";
}
返回:
org.thymeleaf.exceptions.TemplateInputException:解析错误 模板" index.html",模板可能不存在或可能不存在 任何配置的模板解析器都可以访问
我不希望Thymeleaf解决这条道路。
答案 0 :(得分:1)
简单回答:如果您不希望Thymeleaf / Spring MVC处理您的请求,请不要求它:)
更长的答案:当您在控制器中使用@RequestMapping
时,通常会填写一些模型并告诉Spring MVC使用视图来渲染该模型(这是Thymeleaf进来的地方)。
如果您想要提供静态资源,则必须以不同方式对其进行配置。这是一个例子:
@Component
class WebConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/docs/**").addResourceLocations("file://path/to/yourDocs/");
}
}