1.导入Knife4j依赖
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
2.在配置类中实现文档生成类
//开启注解
@EnableSwagger2
@EnableKnife4j
@Bean
public Docket createRestApi(){
// 文档类型
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().
apis(RequestHandlerSelectors.basePackage("com.itheima.reggie.controller")).
paths(PathSelectors.any()).build() ;
}
private ApiInfo apiInfo()
{
return new ApiInfoBuilder().title("瑞吉外卖").version("1.0").description("瑞。 吉外卖接口文档").build();
}
// 拦截配置
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
//
}
public void addInterceptors(InterceptorRegistry registry) {
//1.创捷拦截器对象
LoginInterception loginInterception = new LoginInterception();
//2.定义一个集合,用来存储将不进行过滤的资源
List<String> list = new ArrayList<String>();
list.add("/doc.html") ;
list.add("/webjars/**") ;
list.add("/swagger-resources") ;
list.add("/v2/api-docs") ;
registry.addInterceptor(loginInterception).addPathPatterns("/**").excludePathPatterns(list);
}