SpringBoot整合Swagger2代码实例

这篇文章主要介绍了SpringBoot整合Swagger2代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

首先遵循SpringBoot的三板斧

第一步添加依赖

io.springfoxspringfox-swagger2{version}io.springfoxspringfox-swaggerui{version}

第二步添加注解

@EnableSwagger2 //启动SwaggerUI,在启动类或Swagger配置类上添加该注解

第三步写配置

@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { /* //可以添加多个header或参数 ParameterBuilder aParameterBuilder = new ParameterBuilder(); aParameterBuilder //参数类型支持header, cookie, body, query etc .parameterType("header") //参数名 .name("user-token") //认值 .defaultValue("t122222") .description("用户登录凭证") //指定参数值的类型 .modelRef(new ModelRef("string")) //非必需,这里是全局配置 .required(false).build(); List aParameters = new ArrayList(); aParameters.add(aParameterBuilder.build()); */ return new Docket(DocumentationType.SWAGGER_2) // return new Docket(DocumentationType.SPRING_WEB) .apiInfo(apiInfo()) .pathMapping("/") .select()// 选择那些路径和api会生成document .apis(RequestHandlerSelectors.any())// 对所有api进行监控 // 不显示错误的接口地址 .paths(Predicates.not(PathSelectors.regex("/error.*")))// 错误error路径不监控 .paths(Predicates.not(PathSelectors.regex("/actuator.*")))// 错误error路径不监控 .paths(PathSelectors.regex("/.*"))// 对根下所有路径进行监控 .paths(PathSelectors.any()) // 对所有路径进行监控 // 自行修改为自己的包路径 // .apis(RequestHandlerSelectors.basePackage("com.happyloves.zc.service.account.api")) .build() // .globalOperationParameters(aParameters) .enable(true); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("API接口") .description("API接口文档") //服务条款网址 // .termsOfServiceUrl("https://www.google.com") .version("1.0") // .contact(new Contact("啦啦啦", "url", "email")) .build(); } }

扩展:swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档

体验项目地址码云:

GitHub: https://github.com/xiaoymin/Swagger-Bootstrap-UI

在线体验:http://swagger-bootstrap-ui.xiaominfo.com/doc.html

代码集成示例

SpringBoot在线demo地址:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo

Spring Mvc在线demo地址:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo/tree/master/swagger-bootstrap-ui-demo-mvc

添加依赖

com.github.xiaoyminswagger-bootstrap-ui1.9.6

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...