欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot集成swagger過(guò)程解析

 更新時(shí)間:2020年01月03日 11:00:22   作者:聞窗  
這篇文章主要介紹了springboot集成swagger過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了springboot集成swagger過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

springboot集成swagger

1、pom.xml中引入:

<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>

2、配置類(lèi):

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket swaggerSpringMvcPlugin() {

    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        //加了ApiOperation注解的類(lèi),才生成接口文檔
        .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
        .build();
  }

}

3、controller相應(yīng)的注解:@ApiOperation

@ApiOperation(value = "用戶(hù)登錄",notes = "")
  @PostMapping("/loginOn")
  public ResponseMessage loginOn(@RequestBody @Valid UserReq userReq){
    ResponseMessage responseMessage = userServiceImp.loginOn(userReq);
    return responseMessage;
  }

最后本地默認(rèn)訪(fǎng)問(wèn):http://localhost:8080/swagger-ui.html

既可以看到相關(guān)接口效果圖:

訪(fǎng)問(wèn)頁(yè)失敗的可能原因:

1》》訪(fǎng)問(wèn)方法本來(lái)就是404錯(cuò)誤:在sprigboot中有個(gè)重要的概念叫做:約定優(yōu)于配置:

springboot啟動(dòng)的時(shí)候如果沒(méi)有指定掃描的包路徑時(shí),默認(rèn)會(huì)去加載其當(dāng)前包及子包下的組件,這里需要注意

如果把啟動(dòng)類(lèi)放入service包下,頁(yè)面就會(huì)訪(fǎng)問(wèn)不到:

2》》SwaggerConfig 類(lèi)的寫(xiě)法有問(wèn)題:Docket方法挺多的,這里需要注意:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket swaggerSpringMvcPlugin() {

    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        //加了ApiOperation注解的類(lèi),才生成接口文檔
        .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
        .build();
  }

}

3》》配置攔截器時(shí)是否進(jìn)行了攔截:

在實(shí)現(xiàn)WebMvcConfigurer接口時(shí),我們?cè)倥渲脭r截器時(shí),需要對(duì)相應(yīng)的請(qǐng)求進(jìn)行過(guò)濾放行,比如靜態(tài)資源,登錄請(qǐng)求等

@Configuration
public class WebConfig implements WebMvcConfigurer {
  /**
   * 配置攔截器
   * @param registry
   */
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new RequestInterceptor()).addPathPatterns("/**").excludePathPatterns("/user/login")
        //排除swagger
    .excludePathPatterns("/swagger-resources/**", "/webjars/**",
        "/v2/**", "/swagger-ui.html/**");
  }

}

有的代碼是通過(guò)重寫(xiě)WebMvcConfigurer的addResourceHandlers方法:

/**
   * 添加靜態(tài)資源--過(guò)濾swagger-api (開(kāi)源的在線(xiàn)API文檔)
   * @param registry
   *//*
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    //過(guò)濾swagger
    registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");

    registry.addResourceHandler("/swagger-resources/**")
        .addResourceLocations("classpath:/META-INF/resources/swagger-resources/");

    registry.addResourceHandler("/swagger/**")
        .addResourceLocations("classpath:/META-INF/resources/swagger*");

    registry.addResourceHandler("/v2/api-docs/**")
        .addResourceLocations("classpath:/META-INF/resources/v2/api-docs/");

  }*

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Kafka中消息隊(duì)列的兩種模式講解

    Kafka中消息隊(duì)列的兩種模式講解

    這篇文章主要介紹了Kafka中消息隊(duì)列的兩種模式講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Java字節(jié)流 從文件輸入輸出到文件過(guò)程解析

    Java字節(jié)流 從文件輸入輸出到文件過(guò)程解析

    這篇文章主要介紹了Java字節(jié)流 從文件輸入 輸出到文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Spring Boot如何解決Mysql斷連問(wèn)題

    Spring Boot如何解決Mysql斷連問(wèn)題

    本篇文章主要介紹了Spring Boot如何解決Mysql斷連問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 深入Spring Boot之ClassLoader的繼承關(guān)系和影響

    深入Spring Boot之ClassLoader的繼承關(guān)系和影響

    這篇文章主要介紹了深入Spring Boot之ClassLoader的繼承關(guān)系和影響,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Java 精煉解讀方法的定義與使用

    Java 精煉解讀方法的定義與使用

    Java語(yǔ)言中的“方法”(Method)在其他語(yǔ)言當(dāng)中也可能被稱(chēng)為“函數(shù)”(Function)。對(duì)于一些復(fù)雜的代碼邏輯,如果希望重復(fù)使用這些代碼,并且做到“隨時(shí)任意使用”,那么就可以將這些代碼放在一個(gè)大括號(hào)“{}”當(dāng)中,并且起一個(gè)名字。使用的時(shí)候,直接找到名字調(diào)用即可
    2022-03-03
  • 最新評(píng)論