首先遵循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-swagger-ui</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的时候,能拥有一份简洁、强大的接口文档体验
添加依赖
<!-- 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>