时间:2020-11-04 11:30:14 | 栏目:JAVA代码 | 点击:次
首先遵循SpringBoot的三板斧
第一步添加依赖
<!-- SwaggerUI 接口文档 http://{ip}:{prot}/swagger-ui.html --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>{version}</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swaggerui</artifactId> <version>{version}</version> </dependency>
第二步添加注解
@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<Parameter> 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的时候,能拥有一份简洁、强大的接口文档
体验项目地址码云:https://gitee.com/xiaoym/swagger-bootstrap-ui
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
添加依赖
<!-- swagger-bootstrap-ui是 Swagger 的增强UI 实现,使文档更友好一点儿 http://{ip}:{prot}/doc.html --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.6</version> </dependency>