import com
.google
.common
.base
.Predicates
;
import org
.springframework
.context
.annotation
.Bean
;
import org
.springframework
.context
.annotation
.Configuration
;
import springfox
.documentation
.builders
.ApiInfoBuilder
;
import springfox
.documentation
.builders
.ParameterBuilder
;
import springfox
.documentation
.builders
.PathSelectors
;
import springfox
.documentation
.schema
.ModelRef
;
import springfox
.documentation
.service
.ApiInfo
;
import springfox
.documentation
.service
.Contact
;
import springfox
.documentation
.service
.Parameter
;
import springfox
.documentation
.spi
.DocumentationType
;
import springfox
.documentation
.spring
.web
.plugins
.Docket
;
import springfox
.documentation
.swagger2
.annotations
.EnableSwagger2
;
import java
.util
.ArrayList
;
import java
.util
.List
;
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket
webApiConfig(){
List
<Parameter> pars
= new ArrayList<>();
ParameterBuilder tokenPar
= new ParameterBuilder();
tokenPar
.name("userId")
.description("用户ID")
.defaultValue("1")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false)
.build();
pars
.add(tokenPar
.build());
ParameterBuilder tmpPar
= new ParameterBuilder();
tmpPar
.name("userTempId")
.description("临时用户ID")
.defaultValue("1")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false)
.build();
pars
.add(tmpPar
.build());
return new Docket(DocumentationType
.SWAGGER_2
)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates
.and(PathSelectors
.regex("/api/.*")))
.build()
.globalOperationParameters(pars
);
}
@Bean
public Docket
adminApiConfig(){
return new Docket(DocumentationType
.SWAGGER_2
)
.groupName("adminApi")
.apiInfo(adminApiInfo())
.select()
.paths(Predicates
.and(PathSelectors
.regex("/admin/.*")))
.build();
}
private ApiInfo
webApiInfo(){
return new ApiInfoBuilder()
.title("网站-API文档")
.description("本文档描述了网站微服务接口定义")
.version("1.0")
.contact(new Contact("Helen", "http://ggg.com", "55317332@qq.com"))
.build();
}
private ApiInfo
adminApiInfo(){
return new ApiInfoBuilder()
.title("后台管理系统-API文档")
.description("本文档描述了后台管理系统微服务接口定义")
.version("1.0")
.contact(new Contact("Helen", "http://ggg.com", "55317332@qq.com"))
.build();
}
}
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
.service
.Contact
;
import springfox
.documentation
.spi
.DocumentationType
;
import springfox
.documentation
.spring
.web
.plugins
.Docket
;
import springfox
.documentation
.swagger2
.annotations
.EnableSwagger2
;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket
webApiConfig(){
return new Docket(DocumentationType
.SWAGGER_2
)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.build();
}
private ApiInfo
webApiInfo(){
return new ApiInfoBuilder()
.title("网站-讲师管理API文档")
.description("本文档描述了讲师管理微服务接口定义")
.version("1.0")
.contact(new Contact("jimmy", "http://ggg.com", "1111111@qq.com"))
.build();
}
}
转载请注明原文地址:https://tech.qufami.com/read-11294.html