swagger2的分组配置
程序员文章站
2022-07-07 18:26:59
...
当微服务的服务越来越多swagger2展示的越来越长这时候需要进行分页展示
swagger2头上有下拉框可以groupName进行分组展示
java代码代码:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.globalOperationParameters(operationParameters())
.groupName("第一个接口服务页面")
.genericModelSubstitutes(DeferredResult.class)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.tan.oauth2.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(" createRestApi Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
.termsOfServiceUrl("http://github.com/")
.contact("程序猿痛苦")
.version("1.0")
.build();
}
@Bean
public Docket openRestApi() {
Predicate<RequestHandler> predicate = new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
// Class<?> declaringClass = input.declaringClass();
// if (declaringClass == BasicErrorController.class)// 排除
// return false;
// if(declaringClass.isAnnotationPresent(ApiOperation.class)) // 被注解的类
// return true;
// if(input.isAnnotatedWith(ResponseBody.class)) // 被注解的方法
// return true;
// if (input.isAnnotatedWith(ApiOperation.class))//只有添加了ApiOperation注解的method才在API中显示
// return true;
if (input.isAnnotatedWith(ApiOperation.class))//只有添加了ApiOperation注解的method才在API中显示
return true;
return false;
}
};
return new Docket(DocumentationType.SWAGGER_2)
.groupName("第二个接口服务页面")
.genericModelSubstitutes(DeferredResult.class)
.apiInfo(openapiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.tan.oauth2.controller2"))
// .apis(predicate)
.paths(PathSelectors.any())
.build();
}
private ApiInfo openapiInfo() {
return new ApiInfoBuilder()
.title("openRestApi Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
.termsOfServiceUrl("http://github.com/")
.contact("程序猿痛苦")
.version("1.0")
.build();
}
public List<Parameter> operationParameters() {
//添加head参数start
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
tokenPar.name("x-access-token")
.description("令牌")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false)
.build();
pars.add(tokenPar.build());
//添加head参数end
return pars;
}
}
pom.xml文件配置
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
swagger2头上有下拉框可以groupName进行分组展示
java代码代码:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.globalOperationParameters(operationParameters())
.groupName("第一个接口服务页面")
.genericModelSubstitutes(DeferredResult.class)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.tan.oauth2.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title(" createRestApi Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
.termsOfServiceUrl("http://github.com/")
.contact("程序猿痛苦")
.version("1.0")
.build();
}
@Bean
public Docket openRestApi() {
Predicate<RequestHandler> predicate = new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
// Class<?> declaringClass = input.declaringClass();
// if (declaringClass == BasicErrorController.class)// 排除
// return false;
// if(declaringClass.isAnnotationPresent(ApiOperation.class)) // 被注解的类
// return true;
// if(input.isAnnotatedWith(ResponseBody.class)) // 被注解的方法
// return true;
// if (input.isAnnotatedWith(ApiOperation.class))//只有添加了ApiOperation注解的method才在API中显示
// return true;
if (input.isAnnotatedWith(ApiOperation.class))//只有添加了ApiOperation注解的method才在API中显示
return true;
return false;
}
};
return new Docket(DocumentationType.SWAGGER_2)
.groupName("第二个接口服务页面")
.genericModelSubstitutes(DeferredResult.class)
.apiInfo(openapiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.tan.oauth2.controller2"))
// .apis(predicate)
.paths(PathSelectors.any())
.build();
}
private ApiInfo openapiInfo() {
return new ApiInfoBuilder()
.title("openRestApi Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
.termsOfServiceUrl("http://github.com/")
.contact("程序猿痛苦")
.version("1.0")
.build();
}
public List<Parameter> operationParameters() {
//添加head参数start
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
tokenPar.name("x-access-token")
.description("令牌")
.modelRef(new ModelRef("string"))
.parameterType("header")
.required(false)
.build();
pars.add(tokenPar.build());
//添加head参数end
return pars;
}
}
pom.xml文件配置
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
推荐阅读
-
Android sdutio配置Zxing进行扫码功能的实现方法
-
配置hadoop环境变量的参数(linux配置hadoop环境变量)
-
jdk环境配置不成功的原因(配置不成功的解决方法)
-
tomcat优化配置的方法(教你tomcat怎么优化配置)
-
.Net Core库类项目跨项目读取配置文件的方法
-
linux修改hostname的配置文件(linux中修改主机名的命令)
-
.NET Core配置多环境的方法步骤
-
详解.net core webapi 前后端开发分离后的配置和部署
-
Spring Boot 配置MySQL数据库重连的操作方法
-
spring Mvc配置xml使ResponseBody返回Json的方法示例