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