最近在寫後臺接口,是用springboot搭建的。
現在準備配置上Swagger作爲接口文檔。
當加好Swagger的配置項後,訪問http://localhost:8080/swagger-ui.htm發現404~尷尬了。
後來才發現是@EnableWebMvc
註解的問題,加了這個註解以後會導致靜態資源路徑無法訪問。
同樣404的朋友可以試一試把這個註解給註釋了,看能否進入Swagger界面。
我這裏是重新對靜態資源文件做了一個新的路徑映射。
步驟:
1、創建一個配置項實現WebMvcConfigurer
接口。
(ps:老版本的springboot是繼承WebMvcConfigurationSupport
類)
2、重寫addResourceHandlers方法,映射資源路徑。
/**
* @Description: 使用了@EnableMvc以後,導致靜態資源路徑無法訪問
* 重新配置加上靜態資源路徑的映射
* @CreateDate: 2020/7/3 11:04
*/
@Configuration
public class MvcStaticMappingConfig implements WebMvcConfigurer {
/**
* 設置靜態資源路徑的映射
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 解決靜態資源無法訪問
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
// 解決swagger無法訪問
registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
// 解決swagger的js文件無法訪問
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
然後就能訪問了~