最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合Swagger2的完整過程記錄

 更新時間:2021年09月20日 10:48:51   作者:一朵花花  
Swagger是一款RESTful接口的文檔在線自動生成、功能測試功能框架,這篇文章主要給大家介紹了關于SpringBoot整合Swagger2的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

springBoot作為微服務首選框架,為其他服務提供大量的接口服務。接口對接方需要實時最近的接口文檔。

swagger可以通過代碼和注釋自動為web項目生成在線文檔,這里使用swagger。

當 SpringBoot 代碼中 SpringMVC 使用自動化配置類 WebMvcAutoConfiguration 時,其整合 Swagger2 的方法如下。

如果 SpringMVC 的配置過程使用了 WebMvcConfigurationSupport;則如下的整合方法不適合。

一、Spring Boot Web 整合 Swagger2 過程

Spring Boot Web 項目整合 Swagger2 主要有兩個過程:

  1. 添加 Swagger2 相關依賴。
  2. 配置 Swagger2 配置類。

1.1、添加 Swagger2 相關依賴

首先要對 Spring Boot Web 的項目,添加 Swagger2 相關的依賴:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.9.2</version>
    </dependency>

1.2、配置 Swagger2 配置類

@Configuration
@EnableSwagger2
public class Swagger {
   //創(chuàng)建 Docket 的Bean
   @Bean
   public Docket docket(){
       return new Docket(DocumentationType.SWAGGER_2)
         .apiInfo(apiInfo())
         //select() 函數(shù)返回一個 ApiSelectorBuilder實例用來控制哪些接口暴露給 Swagger 來展現(xiàn)
         .select()
         //要掃描的包
         .apis(RequestHandlerSelectors.basePackage("com.example.controller"))
  //選擇API路徑
         .paths(PathSelectors.any())
         .build();
   }
​  //創(chuàng)建文檔的基本信息
   public ApiInfo apiInfo(){
       return new ApiInfoBuilder()
         .title("Swagger UI 的標題")
         .description("用restful風格寫接口")
         .termsOfServiceUrl("")
         .version("1.0")
         .build();
   }
}

二、配置 Swagger2 接口常用注解

2.1、@Api 請求類說明

寫在controller類定義上方,用于說明類的作用。

@Api(value = "Swagger Test Control", 
     description = "演示Swagger用法的Control類", 
     tags = "Swagger Test Control Tag")

2.2、@ApiOperation 方法的說明

寫在REST接口上方,用于說明方法的作用。

@ApiOperation(
value="創(chuàng)建用戶", 
notes="根據(jù)User對象創(chuàng)建用戶")

2.3、@ApiImplicitParams 和 @ApiImplicitParam 方法參數(shù)說明

@ApiImplicitParams:用在請求的方法上,包含一組參數(shù)說明
    @ApiImplicitParam:對單個參數(shù)的說明      
        name:參數(shù)名
        value:參數(shù)的漢字說明、解釋
        required:參數(shù)是否必須傳
        paramType:參數(shù)放在哪個地方
            · header --> 請求參數(shù)的獲取:@RequestHeader
            · query --> 請求參數(shù)的獲?。篅RequestParam
            · path(用于restful接口)--> 請求參數(shù)的獲取:@PathVariable
            · body(請求體)-->  @RequestBody User user
            · form(普通表單提交)     
        dataType:參數(shù)類型,默認String,其它值dataType="int"       
        defaultValue:參數(shù)的默認值
--------------------------------------------------------------------
@ApiImplicitParams({
    @ApiImplicitParam(name = "id", value = "ID", dataType = "Long"),
    @ApiImplicitParam(name = "user", value = "用戶", dataType = "User")
})

2.4、@ApiResponses 和 @ApiResponse 方法返回值的說明

@ApiResponses:方法返回對象的說明
    @ApiResponse:每個參數(shù)的說明
        code:數(shù)字,例如400
        message:信息,例如"請求參數(shù)沒填好"
        response:拋出異常的類
-------------------------------------------------------------------
@ApiResponses({
    @ApiResponse(code = 400, message = "權限不足"),
    @ApiResponse(code = 500, message = "服務器內部異常") }
)

2.5、@ApiModel 和 @ApiModelProperty

@ApiModel 用于JavaBean 上面,表示一個JavaBean。這種一般用在post創(chuàng)建的時候,使用 @RequestBody 這樣的場景,請求參數(shù)無法使用 @ApiImplicitParam 注解進行描述的時候。

@ApiModelProperty 用對象接收參數(shù)時,描述對象的一個字段。

@ApiModel( description = "學生")
public class Student {
    @ApiModelProperty(value = "主鍵id")
    private String id;
    @ApiModelProperty(value = "名稱", required = true)
    private String name;
    @ApiModelProperty(value = "年齡", required = true)
    private int age;
}

2.6、其他注解

@ApiIgnore :使用該注解忽略這個API,不對這個接口生成文檔。

@ApiError:發(fā)生錯誤返回的信息

總結

到此這篇關于SpringBoot整合Swagger2的文章就介紹到這了,更多相關SpringBoot整合Swagger2內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 華為鴻蒙系統(tǒng)應用開發(fā)工具 DevEco Studio的安裝和使用圖文教程

    華為鴻蒙系統(tǒng)應用開發(fā)工具 DevEco Studio的安裝和使用圖文教程

    HUAWEI DevEco Studio 是華為消費者業(yè)務為開發(fā)者提供的集成開發(fā)環(huán)境(IDE),旨在幫助開發(fā)者快捷、方便、高效地使用華為EMUI開放能力。這篇文章主要介紹了華為鴻蒙系統(tǒng)應用開發(fā)工具 DevEco Studio的安裝和使用圖文教程,需要的朋友可以參考下
    2021-04-04
  • Java如何獲取對象屬性及對應值

    Java如何獲取對象屬性及對應值

    這篇文章主要介紹了Java如何獲取對象屬性及對應值,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • java多線程關鍵字final和static詳解

    java多線程關鍵字final和static詳解

    這篇文章主要介紹了java多線程關鍵字final和static詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • springcloud nacos的賦值均衡和動態(tài)刷新

    springcloud nacos的賦值均衡和動態(tài)刷新

    nacos是一個分布式的配置中心和注冊發(fā)現(xiàn)中心,這篇文章主要介紹了springcloud nacos的賦值均衡和動態(tài)刷新,需要的朋友可以參考下
    2024-05-05
  • 輕輕松松吃透Java并發(fā)fork/join框架

    輕輕松松吃透Java并發(fā)fork/join框架

    fork/join是一個工具框架 ,本文詳細的介紹了fork/join框架的具體使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 一文帶你搞懂Java中的泛型和通配符

    一文帶你搞懂Java中的泛型和通配符

    泛型機制在項目中一直都在使用,甚至很多源碼中都用到了泛型機制。但是里面很多的機制和特性一直沒有明白,尤其通配符這塊,經常忘記。本文對此做了一些總結,具有一定借鑒價值,希望有所幫助
    2022-09-09
  • Java NIO Selector用法詳解【含多人聊天室實例】

    Java NIO Selector用法詳解【含多人聊天室實例】

    這篇文章主要介紹了Java NIO Selector用法,結合實例形式分析了Java NIO Selector基本功能、原理與使用方法,并結合了多人聊天室實例加以詳細說明,需要的朋友可以參考下
    2019-11-11
  • idea中Stash與Unstash的使用及說明

    idea中Stash與Unstash的使用及說明

    這篇文章主要介紹了idea中Stash與Unstash的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Centos6.5下Jdk+Tomcat+Mysql環(huán)境安裝圖文教程

    Centos6.5下Jdk+Tomcat+Mysql環(huán)境安裝圖文教程

    這篇文章主要為大家詳細介紹了Centos6.5系統(tǒng)下Jdk+Tomcat+Mysql環(huán)境安裝過程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • java使用異或對文件進行加密解密

    java使用異或對文件進行加密解密

    這篇文章主要為大家詳細介紹了java使用異或方式對文件進行加密解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論

鲜城| 象山县| 朔州市| 大田县| 曲阜市| 民和| 武川县| 东乌珠穆沁旗| 小金县| 大关县| 中超| 玉溪市| 天峻县| 彩票| 阿克苏市| 平遥县| 阿克陶县| 锦屏县| 赫章县| 工布江达县| 汉沽区| 施甸县| 玉环县| 敖汉旗| 喜德县| 新泰市| 元朗区| 香格里拉县| 理塘县| 额济纳旗| 扶风县| 永康市| 微博| 禹城市| 玛曲县| 日照市| 牟定县| 金门县| 陕西省| 和平区| 宝山区|