swagger整合springboot的使用


什么是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界面如下:

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM