zoukankan      html  css  js  c++  java
  • springboot 集成swagger2.x 后静态资源报404

    package com.bgs360.configuration;
    
    import org.springframework.context.EnvironmentAware;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.env.Environment;
    import org.springframework.util.StopWatch;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
    
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    import static springfox.documentation.builders.PathSelectors.regex;
    
    /**
     * <pre>
     * Swagger配置类
     * </pre>
     *
     * @author zyg
     */
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig extends WebMvcConfigurationSupport implements EnvironmentAware {
      private Environment environment;
    
      @Override
      public void setEnvironment(Environment environment) {
        this.environment = environment;
      }
    
      @Override
      public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");
        //springboot 集成swagger2.2后静态资源404,添加如下两行配置
        registry.addResourceHandler("/**")
        .addResourceLocations("classpath:/static/");
    
        registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
        super.addResourceHandlers(registry);
      }
    
      @Bean
      public Docket docket() {
        //最重要的就是这里,定义了/test/.*开头的rest接口都分在了test分组里,可以通过/v2/api-docs?group=test得到定义的json
        StopWatch watch = new StopWatch();
        watch.start();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
            .groupName("org")
            .apiInfo(this.apiInfo())
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(regex("/org/building/.*"))
            .build();
        watch.stop();
        return docket;
      }
    
      private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("测试Api")
            .description("测试Api接口信息")
            .contact(new Contact("xx0@qq.com", null, null))
            .license("Apache 2.0")
            .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
            .version("1.0.0")
            .build();
      }
    
    }
    

      

  • 相关阅读:
    [Redis-CentOS7]Redis设置连接密码(九)
    [Redis-CentOS7]Redis数据持久化(八)
    PAT Advanced 1101 Quick Sort (25分)
    PAT Advanced 1043 Is It a Binary Search Tree (25分)
    HTTP协议
    PAT Advanced 1031 Hello World for U (20分)
    自然码双拼快速记忆方案
    macOS 原生输入法设置自然码
    PAT Advanced 1086 Tree Traversals Again (25分)
    PAT Advanced 1050 String Subtraction (20分)
  • 原文地址:https://www.cnblogs.com/irobotzz/p/12000668.html
Copyright © 2011-2022 走看看