swagger多个分组

原创
0 131
时 间:2018-04-17 16:05
分 类:spring
来 源:鹏爷
标 签:swagger

swagger分组示例:

@Configuration
@EnableWebMvc
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurerAdapter {
	@Bean
	public Docket app_api() {
		return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.ant("/api/**")).build().groupName("APP接口文档V4.4").pathMapping("/")
				.apiInfo(apiInfo("APP接口文档V4.4及之前","文档中可以查询及测试接口调用参数和结果","4.4"));
	}
	
	@Bean
	public Docket wap_api() {
		return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.ant("/web/**")).build().groupName("WEB接口文档V4.4").pathMapping("/")
				.apiInfo(apiInfo("WEB接口文档V4.4及之前","文档中可以查询及测试接口调用参数和结果","4.4"));
	}

	@Bean
	public Docket web_api() {
		return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.ant("/wap/**")).build().groupName("WAP接口文档V4.4").pathMapping("/")
				.apiInfo(apiInfo("WAP接口文档V4.4及之前","文档中可以查询及测试接口调用参数和结果","4.4"));
	}
	
	private ApiInfo apiInfo(String name,String description,String version) {
		ApiInfo apiInfo = new ApiInfoBuilder().title(name).description(description).version(version).build();
		return apiInfo;
	}
}

上面采用的是地址匹配的方式去分组,也可以分包,让扫描不同的包路径


如下:

@Bean
public Docket subscriptionsApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("subscriptions")
            .apiInfo(subscriptionsApiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.mymodule"))
            .paths(PathSelectors.ant("/v1/subscriptions/**"))
            .build();
}


评论