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

Swagger-boostrap-ui如何配置用戶名密碼訪問

 更新時(shí)間:2023年05月26日 14:21:40   作者:墨著染霜華  
這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Swagger-boostrap-ui配置用戶名密碼訪問

配置文件書寫

swagger:
  production: false
  basic:
    enable: true
    username: XX
    password: XXX

Swagger類配置

@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class Swagger2 {
    private String basePackage="com.XXX";
    private String title="XXX接口文檔";
    /**
     * @Description:swagger2的配置文件,這里可以配置swagger2的一些基本的內(nèi)容,比如掃描的包等等
     */
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                .apis(RequestHandlerSelectors.basePackage(basePackage))
                .paths(PathSelectors.any()).build();
    }
    /**
     * @Description: 構(gòu)建 api文檔的信息
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title(title)
                .contact(new Contact("", "http://www.whbswdt.com", ""))
                .description("歡迎訪問武漢百勝開發(fā)接口文檔")
                .version("20.8.28").build();
    }
}

訪問文檔接口

接口文檔swagger-bootstrap-ui的使用

相信使用前后端分離的工程師都對(duì)接口文檔折磨過。無論是前端調(diào)用后端,還是后端調(diào)用后端,都期望有一個(gè)好的接口文檔。

而Swagger,我個(gè)人理解就是把相關(guān)的信息存儲(chǔ)在它定義的描述文件里面(yml或json格式),再通過維護(hù)這個(gè)描述文件可以去更新接口文檔,以及生成各端代碼,它能夠很好地化解前面所說的尷尬。

這樣項(xiàng)目開始時(shí)期,只要前端跟后端定義好返回的數(shù)據(jù)格式,就可以根據(jù)接口文檔進(jìn)行統(tǒng)一的規(guī)范,這樣數(shù)據(jù)規(guī)范起來之后,前端就不需要等到后端開發(fā)好接口才能知道具體的數(shù)據(jù)格式,前端使用mockjs模擬數(shù)據(jù)進(jìn)行開發(fā),大大節(jié)省了時(shí)間,同時(shí)也減少了不必要的溝通過程。

個(gè)人感覺原生的swagger-UI不太友好,所以在網(wǎng)上找到了swagger-bootstrap-ui,這是國(guó)人開發(fā)的ui包,感覺非常不錯(cuò)。

快速開始

引入maven包

由于是springfox-swagger的增強(qiáng)UI包,所以基礎(chǔ)功能依然依賴Swagger,springfox-swagger的jar包必須引入

<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>2.9.2</version>
</dependency>

然后引入SwaggerBootstrapUi的jar包

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

當(dāng)前最新的是1.9.6版本

編寫Swagger2Config配置文件

Swagger2Config配置文件如下:

@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfiguration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("接口文檔")
                .description("接口文檔")
                .build();
    }
}

這里官網(wǎng)有一個(gè)對(duì)新手不太友好的小坑,那就是Docket中的apis中設(shè)置包的掃描路徑,我之前是直接使用官網(wǎng)的配置類,沒有改變包的掃描路徑,導(dǎo)致文檔沒有顯示接口,而改成

RequestHandlerSelectors.withClassAnnotation(RestController.class)

之后就可以了,這樣算是使用了軟編碼吧!

訪問地址

swagger-bootstrap-ui默認(rèn)訪問地址是:http://${host}:${port}/doc.html

swagger2注解

給Controller類添加swagger2注解就生成相應(yīng)的接口文檔了。

例如:

@Api(value="/test1", tags="測(cè)試接口模塊")
@RestController
public class testContro {
    @ApiOperation("test")
    @GetMapping("/ha")
    public String test(){
        return "test成功";
    }
    @ApiOperation("Area刪除")
    @GetMapping("/a")
    public String ha(){
        return "Area刪除成功";
    }
}

運(yùn)行項(xiàng)目之后就可以看到下面的效果:

swagger.png

最后

有了接口文檔之后,當(dāng)前后端分離開發(fā)的時(shí)候,只需要丟一個(gè)測(cè)試環(huán)境的文檔地址過去給前端就可以了,直接看著文檔進(jìn)行參數(shù)對(duì)接,同時(shí)這個(gè)接口文檔的調(diào)試功能也是非常不錯(cuò)的,有時(shí)候懶得寫單元測(cè)試,直接寫一個(gè)查詢的方法獲取數(shù)據(jù),再調(diào)用請(qǐng)求接口進(jìn)行調(diào)試也是非常方便的。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java線程池的幾種實(shí)現(xiàn)方法及常見問題解答

    Java線程池的幾種實(shí)現(xiàn)方法及常見問題解答

    下面小編就為大家?guī)硪黄狫ava線程池的幾種實(shí)現(xiàn)方法及常見問題解答。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • 淺談java中Math.random()與java.util.random()的區(qū)別

    淺談java中Math.random()與java.util.random()的區(qū)別

    下面小編就為大家?guī)硪黄獪\談java中Math.random()與java.util.random()的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09
  • Spring boot外部配置(配置中心化)詳解

    Spring boot外部配置(配置中心化)詳解

    這篇文章主要給大家介紹了關(guān)于Spring boot外部配置(配置中心化)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • RabbitMQ集群運(yùn)維實(shí)踐教程

    RabbitMQ集群運(yùn)維實(shí)踐教程

    RabbitMQ的集群模式主要有兩種普通集群模式和鏡像隊(duì)列模式,下面給大家分享RabbitMQ集群運(yùn)維實(shí)踐教程,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 一篇文章帶你入門Java?UML的類圖

    一篇文章帶你入門Java?UML的類圖

    這篇文章主要為大家詳細(xì)介紹了Java?UML的類圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 關(guān)于java中基本數(shù)據(jù)類型的數(shù)值范圍

    關(guān)于java中基本數(shù)據(jù)類型的數(shù)值范圍

    這篇文章主要介紹了關(guān)于java中基本數(shù)據(jù)類型的數(shù)值范圍,基本類型,或者叫做內(nèi)置類型,是JAVA中不同于類的特殊類型,它們是我們編程中使用最頻繁的類型,需要的朋友可以參考下
    2023-07-07
  • Java循環(huán)對(duì)bean的屬性進(jìn)行賦值的實(shí)現(xiàn)

    Java循環(huán)對(duì)bean的屬性進(jìn)行賦值的實(shí)現(xiàn)

    本文主要介紹了Java循環(huán)對(duì)bean的屬性進(jìn)行賦值,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java中的HashMap和Hashtable區(qū)別解析

    Java中的HashMap和Hashtable區(qū)別解析

    這篇文章主要介紹了Java中的HashMap和Hashtable區(qū)別解析,HashMap和Hashtable都實(shí)現(xiàn)了Map接口,但決定用哪一個(gè)之前先要弄清楚它們之間的區(qū)別,主要的區(qū)別有線程安全性、同步和速度,需要的朋友可以參考下
    2023-11-11
  • Java中return的用法(兩種)

    Java中return的用法(兩種)

    這篇文章主要介紹了Java中return的用法(兩種)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java高級(jí)-反射&動(dòng)態(tài)代理詳解

    Java高級(jí)-反射&動(dòng)態(tài)代理詳解

    這篇文章主要介紹了Java高級(jí)-反射&動(dòng)態(tài)代理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評(píng)論