swagger增强Knife4j https://doc.xiaominfo.com/guide/ 我称之为swagger-plus…哈哈哈,
使用起来特别简单,在有swagger的基础上,

加上pom依赖:

<dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>2.0.4</version>
        </dependency>

加上注解@EnableKnife4j

swagger配置文件:

@Configuration
@EnableSwagger2
@EnableKnife4j
public class SwaggerConfig {

  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.study.test"))
        //包下的类,生成接口文档
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("yida接口文档")
        .description("yida接口文档")
        .version("1.0.0")
        .build();
  }

}

springmvc配置资源映射,权限不拦截等等:

增加的:

// 资源映射的:
    registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");

拦截放行的

.excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/doc.html/**","/api-docs-ext/**")//放行swagger接口文档地址

简单的springmvc配置文件:

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new LoginInterceptor())
        .addPathPatterns("/**")
        .excludePathPatterns("/static/")
        .excludePathPatterns("/login/**")//放行登录接口
        .excludePathPatterns("/sys/attach/preview/**")//放行文件预览接口
        .excludePathPatterns("/upload/**")//放行文件访问静态资源url
        .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/doc.html/**","/api-docs-ext/**")//放行swagger接口文档地址
        .addPathPatterns("/**/**");
    super.addInterceptors(registry);
  }

  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");

  }
}

启动访问:http://localhost:8888/doc.html#/home你们对应的地址即可:

具体使用就比较简单了,可以参考官网,还有一些错误,也直接看官网,

还提供了离线文档,美滋滋…
还支持接口排序:
接口排序