網(wǎng)站開發(fā)需要考什么證網(wǎng)絡(luò)營銷渠道有哪三類
之前發(fā)過通過繼承WebMvcConfigurationSupport來訪問靜態(tài)資源的文章——img標(biāo)簽訪問靜態(tài)資源,代碼如下
@Configuration
public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {/*** 在springboot項(xiàng)目中,允許瀏覽器訪問指定本地文件** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/img/**").addResourceLocations("file:///D:/exerciting/java/mall-picture/");super.addResourceHandlers(registry);}
}
這個(gè)方法是可行的,但會帶來一個(gè)小問題。
問題:在項(xiàng)目中加入swagger-ui這種本身就帶靜態(tài)資源的依賴,它該怎么訪問?
像這些本身就要訪問靜態(tài)資源的,它們一般是實(shí)現(xiàn)了WebMvcConfigurer,而不是繼承WebMvcConfigurationSupport。
當(dāng)我們用上面代碼中的方法訪問靜態(tài)資源后,會發(fā)現(xiàn)你不能繼續(xù)訪問swagger-ui.html了,所以改進(jìn)的做法是將自己要訪問的靜態(tài)資源也用實(shí)現(xiàn)WebMvcConfigurer中addResourceHandlers方法的方式重寫,代碼如下:
@Configuration
public class BaaJoyMallWebMvcConfigurer implements WebMvcConfigurer {@Autowiredprivate TokenToMallUserMethodArgumentResolver tokenToMallUserMethodArgumentResolver;/*** 在springboot項(xiàng)目中,允許瀏覽器訪問指定本地文件,最好用實(shí)現(xiàn)WebMvcConfigurer的方法而不是繼承WebMvcConfigurationSupport的方法重寫* 因?yàn)槿绻駍wagger-ui這種自帶靜態(tài)資源的,可能會因此訪問不到** @param registry*/@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/goods-img/**").addResourceLocations("file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/goods-img/");registry.addResourceHandler("/upload/**").addResourceLocations("file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/upload/");}
}
當(dāng)然兩種方法都是可以的,至于有沒有其他方法,還沒有太多了解。