Swagger2多包扫描package fig;
import t.annotation.Bean;
import t.annotation.Configuration;
lemon.base.Function;
lemon.base.Optional;
lemon.base.Predicate;
spring framework documentation
import springfox.documentation.RequestHandler;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
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;
@Configuration
@EnableSwagger2
public class Swagger2Config {
//127.0.0.1:8082/swagger-ui.html
@Bean
public Docket createRestApi() {
// return new
// Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
/
/ .apis(RequestHandlerSelectors.basePackage("ller")).paths(PathSelectors.any()).build();
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(basePackage("ller;com.xf.PageController")).paths(PathSelectors.any()).build();    }
private ApiInfo apiInfo() {
// ⽤ApiInfoBuilder进⾏定制
return new ApiInfoBuilder().title("内容:接⼝⽂档").description("描述:开发")
.contact(new Contact("XF_AA", null, "921252375@qq")).version("版本号:" + 1.0).build();
}
public static Predicate<RequestHandler> basePackage(final String basePackage) {
return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
}
private static Function<Class<?>, Boolean> handlerPackage(final String basePackage) {
return input -> {
// 循环判断匹配
for (String strPackage : basePackage.split(";")) {
boolean isMatch = Package().getName().startsWith(strPackage);
if (isMatch) {
return true;
}
}
return false;
};
}
private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
return Optional.fromNullable(input.declaringClass());
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。