jinlin
2024-02-26 6f0714843341b168573ad0272069f7af2d3d2b87
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.zt.common.utils;
 
import com.zt.common.constant.Constant;
import io.swagger.annotations.ApiOperation;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiKey;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
 
import java.util.List;
 
import static com.google.common.collect.Lists.newArrayList;
 
public class DocketUtil {
 
    public static Docket getDocket(String title, String groupName, String packageName) {
        return new Docket(DocumentationType.SWAGGER_2).groupName(groupName)
                .apiInfo(new ApiInfoBuilder().title(title).build()).select()
                // 加了ApiOperation注解的类,生成接口文档
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                // 包下的类,生成接口文档
                .apis(RequestHandlerSelectors.basePackage(packageName)).paths(PathSelectors.any()).build()
                .directModelSubstitute(java.util.Date.class, String.class).securitySchemes(security());
    }
 
    private static List<ApiKey> security() {
        return newArrayList(new ApiKey(Constant.Sys.TOKEN_HEADER, Constant.Sys.TOKEN_HEADER, "header"));
    }
}