我正在尝试将一组特定的资源(音频)映射到控制器。但是资源/ **映射到所有资源。如何隔离特定的资源请求,使其不通过Spring静态资源映射,而是通过我的控制器?将音频资源移动到资源以外的其他文件夹是唯一的解决方案吗?
例如:
文件夹结构:
/resources/js
/resources/css
/resources/audio
使用Spring Web Config进行资源映射:
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry)
{
registry.addResourceHandler("/resources/**")
.addResourceLocations("/resources/")
...
}
资源控制器:
public class ResourceController {
@RequestMapping(value = "/resources/audio",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public Resource getAudio(...) {
}
....
}
答案 0 :(得分:2)
将音频资源移动到除以外的其他文件夹 资源是唯一的解决方案吗?
问题是什么?看起来很完美:传统和直观。如果它不是静态的,那就不要让它静止。
答案 1 :(得分:0)
据我所知,没有办法在ant路径中指定排除。我认为许多基于ant路径匹配的实用程序都提供了包含和排除路径。
但是,无论如何,根据NimChimpsky所说,在未来的演变意义上,控制器将提供/resources
数据,这将是危险的。