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();
      }
    
    }
    

      

  • 相关阅读:
    docker学习
    LIS是什么?
    Android网络课程笔记-----定制通知系统
    java常用算法
    java正则表达式大全
    无需ROOT就能拿ANR日志
    Android网络课程笔记-----定制系统控件2
    Android网络课程笔记-----定制系统控件1
    Android网络课程笔记-----Fragment
    读《启示录》有感-----1
  • 原文地址:https://www.cnblogs.com/irobotzz/p/12000668.html
Copyright © 2011-2022 走看看