Skip to content

Commit

Permalink
perf($Starter): abstract swagger configuration
Browse files Browse the repository at this point in the history
[skip ci]
  • Loading branch information
Johnny Miller (锺俊) committed Dec 29, 2020
1 parent aafac56 commit 2d27aef
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 262 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package com.jmsoftware.maf.serviceregistry.universal.configuration;

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package com.jmsoftware.maf.springbootadmin.universal.configuration;
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

import javax.annotation.PostConstruct;
import java.util.List;
Expand Down Expand Up @@ -124,4 +128,21 @@ public MafProjectProperty mafProjectProperty() {
log.warn("Initial bean: {}", MafProjectProperty.class.getSimpleName());
return new MafProjectProperty();
}

@Bean
public Swagger2Configuration swagger2Configuration(MafProjectProperty mafProjectProperty) {
log.warn("Initial bean: {}", Swagger2Configuration.class.getSimpleName());
return new Swagger2Configuration(mafProjectProperty);
}

@Bean
public Docket docket(Swagger2Configuration swagger2Configuration, MafProjectProperty mafProjectProperty) {
log.warn("Initial bean: {}", Docket.class.getSimpleName());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(swagger2Configuration.apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(mafProjectProperty.getBasePackage()))
.paths(PathSelectors.any())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.jmsoftware.maf.musclemis.universal.configuration;
package com.jmsoftware.maf.springbootstarter.configuration;

import com.jmsoftware.maf.springbootstarter.configuration.MafProjectProperty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
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;

/**
Expand All @@ -23,23 +18,14 @@
* @author Johnny Miller (锺俊), email: johnnysviva@outlook.com
* @date 2019-02-07 16:15
**/
@Slf4j
@Configuration
@EnableSwagger2
@RequiredArgsConstructor
public class Swagger2Configuration {
private final MafProjectProperty mafProjectProperty;

@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage(mafProjectProperty.getBasePackage()))
.paths(PathSelectors.any())
.build();
}

private ApiInfo apiInfo() {
public ApiInfo apiInfo() {
val projectArtifactId = mafProjectProperty.getProjectArtifactId();
val version = mafProjectProperty.getVersion();
val developerEmail = mafProjectProperty.getDeveloperEmail();
Expand Down

0 comments on commit 2d27aef

Please sign in to comment.