我正在开发 Spring Boot 应用程序。一般问题如下:我创建了 REST API、一些 Controller 。不过,我还有一些静态 HTML 文件,位于“resources/static”中。
我想要实现的是配置 Spring 解析器,以便我可以访问静态内容而不附加“.html”。在实践中,我希望通过路径“ip:port/htmlPage”而不是“ip:port/htmlPage.html”访问静态 HTML
但是,我不想创建这样的方法:
@Controller
public class ViewMaster {
@RequestMapping("/home")
public String home() {
return "home";
}
所以,像
这样的属性spring.mvc.view.suffix=.html
不为我工作。是否有可能避免在 Controller 中创建每个页面端点?
最佳答案
读完你的问题后,我尝试了很多,但无法在没有扩展的情况下从静态文件夹提供 html。对我有用的是创建一个像这样的 @RequestMapping
:
@RequestMapping(value="/static/{htmlName}")
String getStaticHtml(@PathVariable String htmlName){
return htmlName;
}
并将 html 文件移动到 templates
文件夹中。因此不需要创建不同的端点来访问 html 页面,只需传递不带扩展名的 html 名称即可达到目的
关于java - Spring自定义路径解析静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46132550/