在一般开发中,各种Controller可能会被分为两种:后台管理员的相关Controller与用户的相关Controller。所以在使用swagger2的时候,我们也希望其分为两个大类。其解决方法如下:
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket adminApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("adminApi")
.select()
//只显示admin路径下的页面(指的是RequestMapping路径)
.paths(Predicates.and(PathSelectors.regex("/admin/.*")))
.build();
}
@Bean
public Docket webAdminApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.select()
//只显示admin路径下的页面(指的是RequestMapping路径)
.paths(Predicates.and(PathSelectors.regex("/api/.*")))
.build();
}
}
即创建两个不同的方法,每个方法中使用groupname("xxx")加以区分。其效果如下:
其次,我们希望对不同类的接口文档进行说明,方法如下:
首先通过一个函数进行相关类文档的说明,随后在配置方法中使用apiInfo方法进行配置。其效果如下图: