首先遵循SpringBoot的三板斧html
第一步添加依賴git
<!-- 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>
第二步添加註解github
@EnableSwagger2 //啓動SwaggerUI,在啓動類或Swagger配置類上添加該註解
第三步寫配置spring
@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的時候,能擁有一份簡潔、強大的接口文檔體驗
bootstrap
添加依賴api
<!-- 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>