mirror of
https://gitee.com/dromara/MaxKey.git
synced 2026-05-18 14:28:08 +08:00
74 lines
2.4 KiB
Java
74 lines
2.4 KiB
Java
package org.maxkey.autoconfigure;
|
|
|
|
import java.util.ArrayList;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import springfox.documentation.builders.PathSelectors;
|
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
|
import springfox.documentation.oas.annotations.EnableOpenApi;
|
|
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
|
|
@EnableOpenApi
|
|
@EnableKnife4j
|
|
@MapperScan(basePackages = {"org.maxkey"})
|
|
public class SwaggerConfig {
|
|
|
|
@Value("${maxkey.swagger.title}")
|
|
String title;
|
|
|
|
@Value("${maxkey.swagger.description}")
|
|
String description;
|
|
|
|
@Value("${maxkey.swagger.version}")
|
|
String version;
|
|
|
|
@Value("${maxkey.swagger.enable}")
|
|
boolean enable;
|
|
|
|
@Bean
|
|
public Docket docket(){
|
|
if(enable) {
|
|
return new Docket(DocumentationType.SWAGGER_2)
|
|
.apiInfo(apiInfo())
|
|
.select()
|
|
.apis(RequestHandlerSelectors.basePackage("org.maxkey")
|
|
.and(RequestHandlerSelectors.withClassAnnotation(Api.class))
|
|
.and(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)))
|
|
.paths(PathSelectors.any())
|
|
.build();
|
|
}else {
|
|
return null;
|
|
}
|
|
|
|
}
|
|
|
|
// 配置swagger信息
|
|
private ApiInfo apiInfo() {
|
|
Contact contact = new Contact(
|
|
"MaxKey.top",
|
|
"https://www.maxkey.top/",
|
|
"maxkeysupport@163.com");
|
|
|
|
return new ApiInfo(
|
|
title,
|
|
description,
|
|
version,
|
|
"https://www.maxkey.top/",
|
|
contact,
|
|
"Apache License, Version 2.0",
|
|
"http://www.apache.org/licenses/LICENSE-2.0",
|
|
new ArrayList());
|
|
}
|
|
}
|