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

      

  • 相关阅读:
    Android 中Base64的操作
    android 异步图片处理 工具类
    android 跨应用跳转 启动其他应用指定界面
    C++代码案例
    Android 中 Base64的操作应用
    Python基础笔记1
    [linux] 大批量删除任务
    Python基础笔记3
    [R] 如何快速生成许多差异明显的颜色?
    Python基础笔记4
  • 原文地址:https://www.cnblogs.com/irobotzz/p/12000668.html
Copyright © 2011-2022 走看看