Java Spring无法找到ResourceHandler映射的静态资源
我正在尝试配置我的Spring Boot MVC应用程序,以便在我的Java Spring无法找到ResourceHandler映射的静态资源,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在尝试配置我的Spring Boot MVC应用程序,以便在我的资源目录下的静态\录制下提供一些音频文件 我添加了以下映射 public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/recordings/**.wav", "/recordings/**.mp3").addResourceLocations("/static/recordings/"
资源
目录下的静态\录制
下提供一些音频文件
我添加了以下映射
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/recordings/**.wav", "/recordings/**.mp3").addResourceLocations("/static/recordings/");
}
但是,请求:
/recordings/general/en/en-general-choose-language.wav
static/recordings/general/en/en-general-choose-language.wav
给出了一个404,日志中有这个(当然根据路径稍微调整):
我需要一个控制器,将文件内容写入响应流,但为了提供静态文件而必须这样做似乎很愚蠢。ResourceHandlerRegistry的文档#addResourceHandler说明了以下内容: 允许使用“/static/**”或“/css/{filename:\w+\.css}”等模式。有关语法的更多详细信息,请参见AntPathMatcher 在AntPathMatcher的描述中,我们找到了一个符合您需求的示例: org/springframework/***.jsp-匹配org/springframework路径下的所有.jsp文件
因此,尝试
“/recordings/***/.wav”
作为处理程序模式。您可以在您的配置类中尝试public void addResourceHandlers(ResourceHandlerRegistry registry){registry.addResourceHandler(“/resources/**”).addResourceLocations(“/resources/”;}
,然后您可以设置spring.resources.static locations
尝试阅读如何使用spring boot提供静态内容,以下是我的一篇文章:
Looking up handler method for path /recordings/general/en/en-general-choose-language.wav
Did not find handler method for [/recordings/general/en/en-general-choose-language.wav]