美文网首页
访问 Swagger 遇到 404

访问 Swagger 遇到 404

作者: hemiao3000 | 来源:发表于2022-05-09 15:49 被阅读0次

    曾经遇到过,故此有了这篇笔记。但是同样的代码,未做如下配置,后来却又能正常访问。

    这是因为,当你访问 .html 等静态资源时,Spring MVC 默认是在你自己项目的 resources/static 目录下去找它们,如果没有,自然就是 404 。

    而 swagger 相关的 .html 等静态资源是在你所依赖、所包含的 swagger-ui 项目<small>(jar包)</small> 下

    swagger-01.png

    所以,你需要通过静态资源配置来『告诉』Spring MVC 当收到 swagger 相关的静态资源访问时,去指对应的这个目录下找它们。

    @Configuration
    @EnableOpenApi
    public class SwaggerConfig implements WebMvcConfigurer {
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/swagger-ui/**")
                    .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/");
        }
    
        /* 非必须
        @Override
        public void addViewControllers(ViewControllerRegistry registry) {
            registry.addViewController("/swagger-ui/")
                    .setViewName("forward:/swagger-ui/index.html");
        }
        */
    
        ...
    
    }
    

    配置完成之后启动项目,在浏览器中输入网址 http://localhost:8080/swagger-ui/index.html ,即可看到上面的配置信息。

    相关文章

      网友评论

          本文标题:访问 Swagger 遇到 404

          本文链接:https://www.haomeiwen.com/subject/owmhurtx.html