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

springboot2.x集成swagger的方法示例

 更新時間:2019年05月24日 10:16:08   作者:荔枝  
這篇文章主要介紹了springboot2.x集成swagger的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

集成swagger

pom包配置

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<!-- swagger-ui -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>${swagger.version}</version>
</dependency>

添加Swagger配置文件

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  /**
   * 創(chuàng)建一個Docket對象
   * 調(diào)用select()方法,
   * 生成ApiSelectorBuilder對象實例,該對象負責定義外漏的API入口
   * 通過使用RequestHandlerSelectors和PathSelectors來提供Predicate,在此我們使用any()方法,將所有API都通過Swagger進行文檔管理
   * @return
   */
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        //標題
        .title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs")
        //簡介
        .description("")
        //服務(wù)條款
        .termsOfServiceUrl("")
        //作者個人信息
        .contact(new Contact("chenguoyu","","chenguoyu_sir@163.com"))
        //版本
        .version("1.0")
        .build();
  }
}

如果不想將所有的接口都通過swagger管理的話,可以將RequestHandlerSelectors.any()修改為RequestHandlerSelectors.basePackage()

配置靜態(tài)訪問資源

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    // 解決 swagger-ui.html 404報錯
    registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  }
}

到這里為止swagger就已經(jīng)配置完了,可以啟動項目,然后訪問如下鏈接即可http://localhost:9000/swagger...

端口號applicationContext中設(shè)置的端口號。

集成swagger-bootstrap-ui

由于個人感覺原生的swagger-ui不太好看,網(wǎng)上提供了swagger-bootstrap-ui。

pom依賴

<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>swagger-bootstrap-ui</artifactId>
  <version>1.9.3</version>
</dependency>

配置靜態(tài)訪問資源

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    // 解決 swagger-ui.html 404報錯
    registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
    // 解決 doc.html 404 報錯
    registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");

  }
}

這時只需要訪問以下鏈接即可http://localhost:9000/doc.html

swagger常用注解

@Api:用在類上,標志此類是Swagger資源

屬性名稱 備注
value 該參數(shù)沒什么意義,在UI界面上不顯示,所以不用配置
tags 說明該類的作用,參數(shù)是個數(shù)組,可以填多個
description 對api資源的描述

@ApiOperation:用在方法上,描述方法的作用

屬性名稱 備注
value 方法的用途和作用
tags 方法的標簽,可以設(shè)置多個值
notes 方法的注意事項和備注
response 返回的類型(盡量不寫,由swagger掃描生成)

@ApiImplicitParams:包裝器:包含多個ApiImplicitParam對象列表

屬性名稱 備注
value 多個ApiImplicitParam配置

@ApiParam:用于Controller中方法的參數(shù)說明

屬性名稱 備注
name 屬性名稱
value 屬性值
defaultValue 默認屬性值
allowableValues 可以不配置
required 是否屬性必填
allowMultiple 文件上傳時,是否允許多文件上傳

@ApiImplicitParam:定義在@ApiImplicitParams注解中,定義單個參數(shù)詳細信息,如果只有一個參數(shù),也可以定義在方法上

屬性名稱 備注
name 參數(shù)名
value 參數(shù)說明
dataType 參數(shù)類型
paramType 表示參數(shù)放在哪里
header : 請求參數(shù)的獲?。篅RequestHeader
query : 請求參數(shù)的獲?。篅RequestParam
path : 請求參數(shù)的獲?。篅PathVariable
body : 不常用
form : 不常用
defaultValue 參數(shù)的默認值
required 參數(shù)是否必須傳

@ApiModel:用在類上,表示對類進行說明,用于實體類中的參數(shù)接收說明

屬性名稱 備注
value 默認為類的名稱
description 對該類的描述

@ApiModelProperty:在model類的屬性添加屬性說明

屬性名稱 備注
value 屬性描述
name 屬性名稱
allowableValues 參數(shù)允許的值
dataType 數(shù)據(jù)類型
required 是否必填

@ApiResponses:包裝器:包含多個ApiResponse對象列表

屬性名稱 備注
value 多個ApiResponse配置

@ApiResponse:定義在@ApiResponses注解中,一般用于描述一個錯誤的響應(yīng)信息

屬性名稱 備注
code 響應(yīng)碼
message 狀態(tài)碼對應(yīng)的響應(yīng)信息
response 默認響應(yīng)類 Void
responseContainer 參考ApiOperation中配置

@ApiIgnore():用于類或者方法上,不被顯示在頁面上

總結(jié)

除上面之外有點值得注意的是,如果是上傳文件的話,需要把@ApiImplicitParam中的dataType屬性配置為__File否則在swagger中會顯示為文本框而不是上傳按鈕

如果需要項目代碼,可以去我的github中下載;具體代碼可以查看swagger目錄

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 8 Stream Api 中的 map和 flatMap 操作方法

    Java 8 Stream Api 中的 map和 flatMap 操作方法

    Java 8提供了非常好用的 Stream API ,可以很方便的操作集合。今天通過這篇文章給大家分享Java 8 Stream Api 中的 map和 flatMap 操作方法,需要的朋友可以參考下
    2019-11-11
  • 淺析Java Scanner 類的用法

    淺析Java Scanner 類的用法

    這篇文章主要介紹了Java Scanner 類的用法,文中講解非常詳細,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • java.lang.Instrument 代理Agent使用詳細介紹

    java.lang.Instrument 代理Agent使用詳細介紹

    這篇文章主要介紹了java.lang.Instrument 代理Agent使用詳細介紹的相關(guān)資料,附有實例代碼,幫助大家學習參考,需要的朋友可以參考下
    2016-11-11
  • Java判斷主機是否能ping通代碼實例

    Java判斷主機是否能ping通代碼實例

    這篇文章主要介紹了Java判斷主機是否能ping通代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • FeignMultipartSupportConfig上傳圖片配置方式

    FeignMultipartSupportConfig上傳圖片配置方式

    這篇文章主要介紹了FeignMultipartSupportConfig上傳圖片配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用Java實現(xiàn)價格加密與優(yōu)化功能

    使用Java實現(xiàn)價格加密與優(yōu)化功能

    在現(xiàn)代軟件開發(fā)中,數(shù)據(jù)加密是一個非常重要的環(huán)節(jié),尤其是在處理敏感信息(如價格、用戶數(shù)據(jù)等)時,本文將詳細介紹如何使用?Java?實現(xiàn)價格加密,并對代碼進行優(yōu)化,需要的朋友可以參考下
    2025-01-01
  • Windows中使用Java生成Excel文件并插入圖片的方法

    Windows中使用Java生成Excel文件并插入圖片的方法

    這篇文章主要介紹了Windows中使用Java生成Excel文件并插入圖片的方法,其中向Excel中插入圖片文中通過使用Apache POI來實現(xiàn),需要的朋友可以參考下
    2016-02-02
  • 淺談Spring Boot 整合ActiveMQ的過程

    淺談Spring Boot 整合ActiveMQ的過程

    本篇文章主要介紹了淺談Spring Boot 整合ActiveMQ的過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Mybatis批量刪除多表

    Mybatis批量刪除多表

    MyBatis的作用我想不用多說,今天說說MyBatis中的批量刪除操作。 需要的朋友一起看看吧
    2017-10-10
  • Java中@DateTimeFormat和@JsonFormat注解介紹

    Java中@DateTimeFormat和@JsonFormat注解介紹

    @DateTimeFormat和@JsonFormat都是處理時間格式化問題的,把其他類型轉(zhuǎn)換成自己需要的時間類型,下面這篇文章主要給大家介紹了關(guān)于Java中@DateTimeFormat和@JsonFormat注解介紹的相關(guān)資料,需要的朋友可以參考下
    2022-11-11

最新評論

蒲江县| 彭州市| 五寨县| 德昌县| 沈阳市| 滨海县| 会昌县| 旺苍县| 小金县| 宜宾市| 乃东县| 资阳市| 峨眉山市| 浦东新区| 云梦县| 南皮县| 灵台县| 那曲县| 珠海市| 海门市| 正安县| 康乐县| 广东省| 油尖旺区| 河西区| 清水县| 长寿区| 陵川县| 萨嘎县| 宣武区| 西城区| 上蔡县| 惠水县| 新河县| 阜南县| 定边县| 长泰县| 九寨沟县| 榆中县| 三江| 无为县|