中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springmvc集成swagger2

發布時間:2020-04-11 04:56:19 來源:網絡 閱讀:2693 作者:Beyond_奈何 欄目:移動開發

swagger2有一個web前端ui界面,可以清楚的看到所有被swagger2掃描到的接口列表,源碼在github上:swagger-ui

這個版本不是最新版,但是帶有搜索功能,這是在最新版里沒有的。

項目×××之后,解壓,把dist文件夾下的所有的東西放到項目中靜態目錄下,目錄文件夾名稱假設是swagger,修改index.html文件里的js代碼,源碼里的js訪問doc路徑修改成自己項目的訪問路徑:
url = "/xxx/v2/api-docs";
xxx的部分就是web項目名稱,根據實際情況修改

這個v2/api-docs路徑是swagger2接口文檔的json數據訪問地址,這個地址返回的項目中所有接口說明的json格式字符串,這個index.html中的js代碼就解析這個json數據再渲染出來

項目需要依賴兩個包:

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

創建swagger2配置類:

@Configuration // 讓Spring來加載該類配置
@EnableSwagger2 // 啟用Swagger2
@EnableWebMvc
public class Swagger2Config {

    static final Logger log = LoggerFactory.getLogger(Swagger2Config.class);

    @Bean
    public Docket createRestApi() {
        log.info("開始加載Swagger2...");
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                                                      // 掃描指定包中的swagger注解
                                                      .apis(RequestHandlerSelectors.basePackage("com.xxx.xxx.controller"))
                                                      // 掃描所有有注解的api,用這種方式更靈活
                                                      // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                                                      .paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("Api Documentation").description("xxx系統API接口文檔").version("1.0.0").build();
    }
}

到此配置文件,啟動項目,訪問地址:http://ip:port/項目名稱/swagger/index.html進入swagger-ui界面,進入后可以看到正在獲取數據,那是解析數據的過程,稍等一會就會顯示出接口列表。

這個接口的json數據來源地址中的域名(也就是ip:port)這個部分是swagger2獲取的web項目啟動的tomcat的域名,有的環境下是會被nginx代理,真正的web服務器域名是不能直接訪問的,這個時候需要添加-Dspringfox.documentation.swagger.v2.host=xxx環境變量,配置nginx的域名,這樣就能正常經過nginx走代理路徑。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永城市| 阜南县| 库伦旗| 富源县| 永兴县| 洛阳市| 安康市| 石景山区| 富阳市| 柘城县| 泗洪县| 原阳县| 扎囊县| 邵阳县| 兴文县| 莱芜市| 忻州市| 永年县| 栾城县| 连州市| 苍梧县| 叶城县| 临澧县| 丘北县| 靖江市| 方正县| 雅江县| 本溪市| 嘉兴市| 石首市| 阳朔县| 黄梅县| 桑日县| 新龙县| 延川县| 苗栗县| 姚安县| 海南省| 牡丹江市| 沾化县| 沁源县|