亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Swagger如何在SpringBoot中使用

發布時間:2021-04-09 15:48:43 來源:億速云 閱讀:168 作者:Leah 欄目:編程語言

這篇文章給大家介紹Swagger如何在SpringBoot中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

依賴

<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>2.7.0</version>
</dependency>
<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger-ui</artifactId>
 <version>2.7.0</version>
</dependency>

配置類

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * Swagger的配置類
 * @author 陳加兵
 *
 */
@Configuration
public class SwaggerConfig{
 /**
 * 創建用戶API文檔
 * @return
 */
 @Bean
 public Docket createRestUserApi(){
 return new Docket(DocumentationType.SWAGGER_2)
 .groupName("user") 
 .apiInfo(apiInfo()) //api的信息
 .select()
 .apis(RequestHandlerSelectors
  .basePackage("cn.tedu.mycat.controller")) //添加包掃描
 .paths(PathSelectors.any()).build();

 }

 /**
 * 創建API信息
 */
 private ApiInfo apiInfo(){
 return new ApiInfoBuilder()
 .title("api文檔的標題") //標題
 .description("api文檔的描述") //描述
 .contact( //添加開發者的一些信息
  new Contact("愛撒謊的男孩", "https://chenjiabing666.github.io",
  "18796327106@163.com")).version("1.0").build();
 }

}

啟動類

在springBoot的啟動類上添加一個注解即可配置成功: @EnableSwagger2

訪問api的路徑
http://ip/projectName/swagger-ui.html

注解說明

@Api

  • 標注在類上,用來對這個類進行說明的

  • 如果想要生成文檔,必須在類或者接口上標注

  • 屬性如下:

屬性名稱備注默認值
valueurl的路徑值
tags如果設置這個值、value的值會被覆蓋
description對api資源的描述
basePath基本路徑可以不配置
position如果配置多個Api 想改變顯示的順序位置
producesFor example, “application/json, application/xml”
consumesFor example, “application/json, application/xml”
protocolsPossible values: http, https, ws, wss.
authorizations高級特性認證時配置
hidden配置為true 將在文檔中隱藏

@ApiOperation

  • 用在API方法上,對該API做注釋,說明API的作用

  • 不需要多講,看源碼,使用默認的value屬性即可,說明該方法的作用

  • 屬性如下:

valueurl的路徑值
tags如果設置這個值、value的值會被覆蓋
notes對api資源的描述
response返回的對象,在文檔中點擊Model可以獲取該配置的內容
responseContainer這些對象是有效的 “List”, “Set” or “Map”.,其他無效
responseReference可以不配置
httpMethod可以接受 “GET”, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH”
position如果配置多個Api 想改變顯示的順序位置
produces同 Api中的定義
consumes同 Api中的定義
protocols同 Api中的定義
authorizations同 Api中的定義
hidden是否隱藏,true 或者false ,這個可以隱藏后臺接口
codehttp的狀態碼 默認 200
extensions擴展屬性

@ApiImplicitParams

  • 用來包含API的一組參數注解,可以簡單的理解為參數注解的集合聲明

  • 很重要,這個注解其中包含接口入參的詳細說明

  • 內容是集合

@ApiImplicitParam

用在 @ApiImplicitParams 注解中,也可以單獨使用,說明一個請求參數的各個方面

詳細的屬性使用說明如下:

  • name :屬性的字段名稱,相當于form表單中的name,這個就是入參的字段

  • dataType :參數的類型,標識,字符串

  • value :該參數的描述

  • required :是否必填,布爾值

  • defaultValue :缺省值,會在文檔中缺省填入,這樣更方面造數據,不需要調用接口的去填值了

  • paramType :指定參數的入參數方式(也就是請求參數的位置),其中有四種常用的,如下:

    • query

    • path

    • body

    • form

paramType屬性的詳細說明

  • query :必須要和入參的字段一樣,也可以使用 @RequestParam() 指定

  • path :用于Restful的風格的url,請求的參數寫在路徑上,如下:

@ApiOperation(value="根據用戶Id獲取用戶信息",response=User.class,hidden=false)
 @ApiImplicitParams({
 @ApiImplicitParam(paramType = "path", name = "id", dataType="Integer", required = false, value = "用戶的id", defaultValue = "1")
 })
 @GetMapping("/user/get/{id}")
 public Object getUser(@PathVariable("id")Integer id){
 return new User(id, "陳加兵");
 }
  • body:以流的形式提交 僅支持POST
     form:以表單的形式提交

關于Swagger如何在SpringBoot中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铁岭县| 宁陕县| 自贡市| 胶州市| 皮山县| 襄垣县| 汪清县| 五大连池市| 扎兰屯市| 朝阳区| 平凉市| 剑河县| 上杭县| 遵化市| 开江县| 苏尼特左旗| 靖江市| 兰州市| 天门市| 石棉县| 洛隆县| 天水市| 东台市| 郴州市| 定西市| 麦盖提县| 邢台市| 浦东新区| 保康县| 玛多县| 平泉县| 兴海县| 屯昌县| 金川县| 连云港市| 晋宁县| 岳阳县| 将乐县| 沙河市| 巫溪县| 永和县|