diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml
index e1eb723a..11cd1694 100644
--- a/powerjob-server/pom.xml
+++ b/powerjob-server/pom.xml
@@ -26,7 +26,6 @@
- 2.9.2
2.7.4
@@ -53,6 +52,7 @@
4.3.0
4.3.0
4.3.0
+ 1.6.14
@@ -264,25 +264,14 @@
${cron-utils.version}
-
+
- io.springfox
- springfox-swagger2
- ${swagger.version}
-
-
- guava
- com.google.guava
-
-
-
-
-
- io.springfox
- springfox-swagger-ui
- ${swagger.version}
+ org.springdoc
+ springdoc-openapi-ui
+ ${springdoc-openapi-ui.version}
+
org.codehaus.groovy
diff --git a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/config/SwaggerConfig.java b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/config/SwaggerConfig.java
index f9c7a2fd..8196335b 100644
--- a/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/config/SwaggerConfig.java
+++ b/powerjob-server/powerjob-server-starter/src/main/java/tech/powerjob/server/config/SwaggerConfig.java
@@ -1,55 +1,58 @@
package tech.powerjob.server.config;
+import io.swagger.v3.oas.models.ExternalDocumentation;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Info;
+import io.swagger.v3.oas.models.info.License;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springdoc.core.GroupedOpenApi;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
import tech.powerjob.server.common.PowerJobServerConfigKey;
import tech.powerjob.server.remote.server.self.ServerInfoService;
-import javax.annotation.Resource;
-
-import static springfox.documentation.builders.PathSelectors.any;
-
/**
* Configuration class for Swagger UI.
+ * migrate to springdoc from v4.3.1
+ * api address
*
* @author tjq
* @author Jiang Jining
* @since 2020/3/29
*/
+@Slf4j
@Configuration
-@EnableSwagger2
@ConditionalOnProperty(name = PowerJobServerConfigKey.SWAGGER_UI_ENABLE, havingValue = "true")
@RequiredArgsConstructor
public class SwaggerConfig {
private final ServerInfoService serverInfoService;
-
- @Bean
- public Docket createRestApi() {
+ @Bean
+ public OpenAPI springShopOpenAPI() {
// apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中
- ApiInfo apiInfo = new ApiInfoBuilder()
- .title("PowerJob")
- .description("Distributed scheduling and computing framework.")
- .license("Apache Licence 2")
- .termsOfServiceUrl("https://github.com/PowerJob/PowerJob")
- .version(serverInfoService.fetchServiceInfo().getVersion())
- .build();
-
- return new Docket(DocumentationType.SWAGGER_2)
- .apiInfo(apiInfo)
- // select()函数返回一个ApiSelectorBuilder实例
- .select()
- // 决定了暴露哪些接口给 Swagger
- .paths(any())
+ return new OpenAPI()
+ .info(new Info().title("PowerJob")
+ .description("Distributed scheduling and computing framework.")
+ .version(serverInfoService.fetchServiceInfo().getVersion())
+ .license(new License().name("Apache License 2.0").url("https://github.com/PowerJob/PowerJob/blob/master/LICENSE")))
+ .externalDocs(new ExternalDocumentation()
+ .description("Distributed scheduling and computing framework.")
+ .url("http://www.powerjob.tech/"));
+ }
+
+ @Bean
+ public GroupedOpenApi createRestApi() {
+
+ log.warn("[OpenAPI] openapi has been activated, make sure you want to enable it!");
+
+ return GroupedOpenApi.builder()
+ .group("PowerJob-ALL")
+ .pathsToMatch("/**")
.build();
+
}
}