首先 使用@EnableSwagger2
使项目开启swagger功能
apinfo用于配置文档的基本信息
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("自媒体接口API")
.contact(new Contact("Lyra",
"https://www.cnblogs.com/lyraHeartstrings/",
"365373011@qq.com"))
.description("自媒体平台提供的API文档")
.version("1.0.0")
// 网站地址
.termsOfServiceUrl("https://www.cnblogs.com/lyraHeartstrings/")
.build();
}
swagger 配置
public Docket docket() {
Predicate<RequestHandler> adminPredicate = RequestHandlerSelectors.basePackage("com.lyra.admin.controller");
Predicate<RequestHandler> articlePredicate = RequestHandlerSelectors.basePackage("com.lyra.article.controller");
Predicate<RequestHandler> userPredicate = RequestHandlerSelectors.basePackage("com.lyra.api.user.controller");
Predicate<RequestHandler> filesPredicate = RequestHandlerSelectors.basePackage("com.lyra.files.controller");
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(this.apiInfo())
.select()
// 扫描 api 包
.apis(Predicates.or(adminPredicate, articlePredicate, userPredicate, filesPredicate))
// controller 路径 any为任何路径
.paths(PathSelectors.any())
.build();
}
@Api
用于配置在类上 描述类作用
@Api(value = "controller标题", tags = {"xxx"})
@ApiOperation
配置在类方法中 描述防腐作用
@ApiOperation(value = "hello方法测试", notes = "hello方法测试", httpMethod = "GET")
swagger配置在api模块中的好处
可以解耦合 只用配置一次 别的类中 和 用于解耦合 当类中的业务代码更改后不用修改 将接口与实现了解耦合
原文:https://www.cnblogs.com/lyraHeartstrings/p/14820117.html