什么是swagger?
Swagger 是一個規范且完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。
Swagger 的目標是對 REST API 定義一個標准且和語言無關的接口,可以讓人和計算機擁有無須訪問源碼、文檔或網絡流量監測就可以發現和理解服務的能力。當通過 Swagger 進行正確定義,用戶可以理解遠程服務並使用最少實現邏輯與遠程服務進行交互。與為底層編程所實現的接口類似,Swagger 消除了調用服務時可能會有的猜測。
swagger整合springboot的使用:
一、引入依賴
<!--添加Swagger依賴 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <!--添加Swagger-UI依賴 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
二、編寫配置類
1 package com.liusha.swagger.config; 2 3 import org.springframework.context.annotation.Bean; 4 import org.springframework.context.annotation.Configuration; 5 import springfox.documentation.builders.ApiInfoBuilder; 6 import springfox.documentation.builders.PathSelectors; 7 import springfox.documentation.builders.RequestHandlerSelectors; 8 import springfox.documentation.service.Contact; 9 import springfox.documentation.spi.DocumentationType; 10 import springfox.documentation.spring.web.plugins.Docket; 11 import springfox.documentation.swagger2.annotations.EnableSwagger2; 12 13 @Configuration //標記為配置類 14 @EnableSwagger2 //開啟Swagger在線接口文檔 15 public class SwaggerConfig { 16 /** 17 * 添加摘要信息(Docket) 18 * .groupName("XXXX")配置這個Docket的組名 19 */ 20 @Bean 21 public Docket docket() { 22 return new Docket(DocumentationType.SWAGGER_2).groupName("組名:") 23 .apiInfo(new ApiInfoBuilder() 24 .title("標題:此處是配置UI界面顯示的標題信息") 25 .description("描述:這里配置的是UI界面顯示的對這個接口文檔的描述信息") 26 //new Contact() 第一個參數是創建者,第二個是連接地址(可以不配),第三個參數是郵箱(可以不配) 27 .contact(new Contact("流-沙", "https://www.cnblogs.com/liusha-1/", "2387831285@qq.com")) 28 .version("版本號:1.0") 29 .build()) 30 .select() 31 //掃描Api接口的包監聽是哪一個路徑的 32 .apis(RequestHandlerSelectors.basePackage("com.liusha.swagger.controller")) 33 .paths(PathSelectors.any()) 34 .build(); 35 } 36 }
三、監聽的controller類
1 package com.liusha.swagger.controller; 2 3 import io.swagger.annotations.Api; 4 import io.swagger.annotations.ApiOperation; 5 import org.springframework.web.bind.annotation.RequestMapping; 6 import org.springframework.web.bind.annotation.RestController; 7 8 /** 9 * @ApiOperation()配置這個接口的描述信息 10 */ 11 @RestController 12 public class TestController { 13 14 @ApiOperation("測試SwaggerApi的接口") 15 @RequestMapping("/test") 16 public String test(){ 17 return "hello swagger"; 18 } 19 }
四、運行之后點擊http://localhost:8080/swagger-ui.html打開SwaggerUI界面如下: