io.springfox
springfox-swagger2
${swagger.version}
io.springfox
springfox-bean-validators
${swagger.version}
io.springfox
springfox-swagger-ui
${swagger.version}
com.github.xiaoymin
swagger-bootstrap-ui
1.9.1
com.zyplayer
swagger-mg-ui
${swagger.m.version}
使用方法
com.open.capacity
swagger-spring-boot-starter
SwaggerConfig 自动形成swagger文档核心代码
以认证中心代码为例
认证中心代码
@Component
@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {
@Bean
public Docket createRestApi() {
ParameterBuilder tokenPar = new ParameterBuilder();
List pars = new ArrayList<>();
tokenPar.name(“Authorization”).description(“令牌”).
modelRef(new ModelRef(“string”)).
parameterType(“header”).required(false).build();
ParameterBuilder clientPar = new ParameterBuilder();
clientPar.name(“client_id”).description(“应用ID”).
modelRef(new ModelRef(“string”)).
parameterType(“header”).required(false).build();
ParameterBuilder secretPar = new ParameterBuilder();
secretPar.name(“client_secret”).description(“应用密钥”).
modelRef(new ModelRef(“string”)).
parameterType(“header”).required(false).build();
pars.add(tokenPar.build());
pars.add(clientPar.build());
pars.add(secretPar.build());
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
// .apis(RequestHandlerSelectors.basePackage(“com.open.capacity”))
.apis(RequestHandlerSelectors.any())
.paths( input ->
PathSelectors.regex(“/oauth/client.*”).apply(input) ||
PathSelectors.regex(“/oauth/user.*”).apply(input) ||
PathSelectors.regex(“/oauth/get.*”).apply(input) ||
PathSelectors.regex(“/oauth/userinfo.*”).apply(input) ||
PathSelectors.regex(“/oauth/remove.*”).apply(input) ||
PathSelectors.regex(“/oauth/refresh/token.*”).apply(input)||
PathSelectors.regex(“/oauth/token/list.*”).apply(input)||
PathSelectors.regex(“/clients.*”).apply(input)||
PathSelectors.regex(“/services.*”).apply(input)||
PathSelectors.regex(“/redis.*”).apply(input)
)
// .paths(PathSelectors.any())
.build().globalOperationParameters(pars);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title(“认证中心swagger接口文档”).description(“认证中心swagger接口文档”).version(“1.0”).build();
}
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
resolver.setPrefix(“/”);
resolver.setSuffix(“.html”);
return resolver;
}
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasename(“messages”);
return messageSource;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// super.addResourceHandlers(registry);
registry.addResourceHandler(“swagger-ui.html”).addResourceLocations(“classpath:/META-INF/resources/”);
registry.addResourceHandler(“/webjars/**”).addResourceLocations(“classpath:/META-INF/resources/webjars/”);
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
访问网关swagger-ui
http://127.0.0.1:9200/swagger-ui.html
image
访问认证中心swagger-ui
http://127.0.0.1:8000/doc.html(http://127.0.0.1:8000/api-auth/doc.html)
注意查看认证中心代码
image
如果有上下文路径
## 接口地址 http://127.0.0.1:8000/api-auth/doc.html
image
image
访问用户中心swagger-ui
image
企业微服务开放平台 ,历经多家公司生产考验