欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

springboot中怎么快速啟動swagger

這篇文章給大家介紹springboot中怎么快速啟動swagger,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

南江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應式網(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)建站。

springboot之swagger快速啟動

代碼大致如下:

/**
 * Swagger2配置類
 * 在與spring boot集成時,放在與Application.java同級的目錄下。
 * 通過@Configuration注解,讓Spring來加載該類配置。
 * 再通過@EnableSwagger2注解來啟用Swagger2。
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    
    /**
     * 創(chuàng)建API應用
     * apiInfo() 增加API相關(guān)信息
     * 通過select()函數(shù)返回一個ApiSelectorBuilder實例,用來控制哪些接口暴露給Swagger來展現(xiàn),
     * 本例采用指定掃描的包路徑來定義指定要建立API的目錄。
     * 
     * @return
     */
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.swaggerTest.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    
    /**
     * 創(chuàng)建該API的基本信息(這些基本信息會展現(xiàn)在文檔頁面中)
     * 訪問地址:http://項目實際地址/swagger-ui.html
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs")
                .description("更多請關(guān)注http://www.baidu.com")
                .termsOfServiceUrl("http://www.baidu.com")
                .contact("sunf")
                .version("1.0")
                .build();
    }
}

模塊化-Starter

緣由

有開發(fā)過微服務的小伙伴應該體會過。當微服務模塊多的情況下,每個模塊都需要配置這樣的一個類進行加載swagger。造成每個模塊都存在大致一樣的SwaggerConfig,極端的情況下,有些朋友復制其他模塊的SwaggerConfig進行改造之后,發(fā)現(xiàn)仍然加載不出swagger的情況,造成明明是復制的,為何還加載不出,排查此bug及其費時間。

在此之上,可以構(gòu)建出一個swagger-starter模塊,只需要引用一個jar,加載一些特殊的配置,就可以快速的使用到swagger的部分功能了。

設(shè)計

創(chuàng)建模塊swagger-spring-boot-starter。 功能大致如下:

  1. 加載SwaggerConfig。

  2. 通過配置化配置swagger。

  3. Enable加載注解。

1. 創(chuàng)建SwaggerConfig

SwaggerConfig和之前的一致,只是里面的配置需要外部化。

@Configuration
@PropertySource(value = "classpath:swagger.properties", ignoreResourceNotFound = true, encoding = "UTF-8")
@EnableConfigurationProperties(SwaggerProperties.class)
public class SwaggerConfig {

  @Resource
  private SwaggerProperties swaggerProperties;

  @Bean
  public Docket buildDocket() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(buildApiInf())
        .select()
        .apis(RequestHandlerSelectors.basePackage(""))
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo buildApiInf() {
    return new ApiInfoBuilder()
        .title(swaggerProperties.getTitle())
        .description(swaggerProperties.getDescription())
        .termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl())
        .contact(new Contact("skyworth", swaggerProperties.getTermsOfServiceUrl(), ""))
        .version(swaggerProperties.getVersion())
        .build();
  }
}

2. 創(chuàng)建SwaggerProperties 配置相關(guān)

配置通過@PropertySource注解加載resources目錄下的swagger.properties。

創(chuàng)建SwaggerProperties配置類,這個類里包含了一般swagger初始化要使用的一些常用的屬性,如掃描包路徑、title等等。

@Data
@ToString
@ConfigurationProperties(SwaggerProperties.PREFIX)
public class SwaggerProperties {

  public static final String PREFIX = "swagger";

  /**
   * 文檔掃描包路徑
   */
  private String basePackage = "";

  /**
   * title 如: 用戶模塊系統(tǒng)接口詳情
   */
  private String title = "深蘭云平臺系統(tǒng)接口詳情";

  /**
   * 服務文件介紹
   */
  private String description = "在線文檔";

  /**
   * 服務條款網(wǎng)址
   */
  private String termsOfServiceUrl = "https://www.deepblueai.com/";

  /**
   * 版本
   */
  private String version = "V1.0";


}

做好這兩件事情基本大工搞成了,為了更好的使用配置,在idea里和官方starter包一樣,我們還需要配置一個additional-spring-configuration-metadata.json,讓我們自己的配置也具有提示的功能,具體介紹請產(chǎn)考:配置提示 配置提示 配置提示 配置提示 配置提示 ... springboot中怎么快速啟動swagger

springboot中怎么快速啟動swagger

3. 加載SwaggerConfig等特性

因為是starter模塊,可能他人的項目目錄和starter模塊的目錄不一致,導致加載不到SwaggerConfig類,我們需要使用spring.factoriesSwaggerConfig類裝載到spring容器。

resources/META-INF

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  io.purge.swagger.SwaggerConfig

當然本次基于Enable方式去加載SwaggerConfig。

創(chuàng)建@EnableSwaggerPlugins注解類,使用@Import(SwaggerConfig.class)SwaggerConfig導入大工搞成。

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Import(SwaggerConfig.class)
@EnableSwagger2
public @interface EnableSwaggerPlugins {

}

使用

添加依賴

把自己編寫好的swagger通過maven打包,自己項目引用。

<dependency>
  <groupId>com.purgeteam</groupId>
  <artifactId>swagger-spring-boot-starter<factId>
  <version>0.1.0.RELEASE</version>
</dependency>

配置swagger.properties文件

  • 在自己項目模塊的resources目錄下 創(chuàng)建swagger.properties配置

  • swagger.properties 大致配置如下

swagger.basePackage="swagger掃描項目包路徑"
swagger.title="swagger網(wǎng)頁顯示標題"
swagger.description="swagger網(wǎng)頁顯示介紹"

啟動類添加@EnableSwaggerPlugins注解。

@EnableSwaggerPlugins
@SpringBootApplication
public class FrontDemoApplication {

  public static void main(String[] args) {
    SpringApplication.run(FrontDemoApplication.class, args);
  }

}

訪問http://ip:端口/swagger-ui.html檢查swagger-ui是否正常。

springboot中怎么快速啟動swagger

關(guān)于springboot中怎么快速啟動swagger就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當前標題:springboot中怎么快速啟動swagger
文章URL:http://aaarwkj.com/article38/psoosp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站設(shè)計公司、App設(shè)計企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
成人国产精品2021| 日本理伦片一区二区| 高清免费在线自偷自拍| 太爽了少妇高潮在线看片| 亚洲成人高清在线视频| 四虎永久精品国产毛片| 日本亚洲一区二区在线观看| 国产精品偷伦一区二区| 深夜十八禁在线免费观看| 在线播放精品免费不卡| 欧美日本道一区二区三区| 国产精品亚洲av在线| 精品三级一区二区三区| 97久久精品人妻一区二区三区| 尤物资源视频在线观看| 成人大片在线免费观看视频| 亚洲欧美av中文日韩二区| 亚洲天堂av现在观看| 日韩不卡在线观看免费| 蜜臀久久精品国产综合| 亚洲毛片免费视频久久| 九九在线视频免费观看精彩| av在线视频男人的天堂| 日本熟女肥臀一区二区| 国产精品亚洲av三区国产毛片 | 国产精品三级国产精品高| 在线观看国产精品女主播户外麻豆| 日韩午夜免费一区二区蜜桃| 国产成人综合久久三区北岛玲| 91国产香蕉在线观看| 欧美精品成人免费在线| 饥渴少妇高潮露脸嗷嗷叫| 成人看片亚欧大片在线观看| 亚洲精品女同专区视频| 人妻中文字幕av资源| 人妻丝袜中文字幕在线| 一区二区在线日韩视频| 五月婷婷亚洲激情综合网| 在线国产一区二区不卡| 日韩精品一区二区三区电影在线播放| 国产欧美一区二区三区高清|