在我使用 Spring Boot 的 Maven 项目中,我有一个包含静态内容(Html、CSS、JavaScript 文件)的以下文件夹:
/src/main/webapp/docs/
这是我的应用程序属性:
server.port: 8080
server.contextPath: /admin-api
当用户访问以下网址时:http://localhost:8080/admin-api/docs
我想向他显示来自/src/main/webapp/的静态内容docs/
文件夹。
我尝试在我的 WebMvcConfigurerAdapter
中配置 ResourceHandler
但它不起作用:
@EnableWebMvc
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String[] staticResourceMappingPath = { "/docs/", "classpath:/docs/" };
registry.addResourceHandler("/docs").addResourceLocations(staticResourceMappingPath);
}
...
}
http://localhost:8080/admin-api/docs
返回 404 Not Found。
我做错了什么以及如何正确配置它?
最佳答案
您的 addResourceHandlers
方法应如下所示。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/docs/**").addResourceLocations("/docs/");
}
现在,如果您在 docs 文件夹中有一个静态页面,例如 index.html
,那么您可以使用 http://localhost:8080/admin-api/docs/index.html 访问它
关于java - Spring Boot Maven webapp 文件夹和 ResourceHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387017/