背景|
要作一個功能,根據規則服務器上建立文件後,返回可下載的連接
由於sprintboot中地址須要先在用@RequestMapping定義好,不然解析不了,這時動態生成的文件下載地址就會報錯。
解決方法|
添加一個資源的處理器,將某一個路徑地址映射到服務器的某一路徑下
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 攔截請求,將動態文件映射到本地
* **/
@Configuration
public class StaticConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/channels/**").addResourceLocations("file:/opt/channel/");
super.addResourceHandlers(registry);
}
}
/channels/**:**是通配符,路徑在/channels/下就會命中
/opt/channel/:指代本地映射的路徑,路徑前要加file:
注意:
addResourceLocations的目錄,最後必須以/結尾,不然不生效