Swagger整合SpringBoot報錯404以及@EnableWebMvc無法訪問靜態資源文件

最近在寫後臺接口,是用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/");
    }


}

然後就能訪問了~
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章