真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springboot2.x集成swagger的方法示例

集成swagger

儀隴網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

pom包配置


  io.springfox
  springfox-swagger2
  2.9.2



  io.springfox
  springfox-swagger-ui
  ${swagger.version}

添加Swagger配置文件

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  /**
   * 創(chuàng)建一個Docket對象
   * 調(diào)用select()方法,
   * 生成ApiSelectorBuilder對象實例,該對象負責(zé)定義外漏的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依賴


  com.github.xiaoymin
  swagger-bootstrap-ui
  1.9.3

配置靜態(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


網(wǎng)站題目:springboot2.x集成swagger的方法示例
標題來源:http://weahome.cn/article/iiiosj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部