Swagger的配置和集成

Swagger

首先我們需要了解swagger

  • 面向所有人的API開發
  • 藉助Swagger開源和專業工具集,爲用戶,團隊和企業簡化API開發
  • 號稱世界上最好的API框架
  • RestFul API文檔在線自動生成=》API文檔與API定義同步更新
  • 直接運行,可以在線測試API接口;
  • 支持多種語言,如:java,php…
  • 在項目中使用swagger需要springbox
    • swagger2
    • UI

1、SpringBoot集成Swagger

1、maven依賴

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

2、配置Swagger swaggerconfig

  • 新建swagger包
  • 新建SwaggerConfig
@Configuration
@EnableSwagger2//開啓Swagger2
public class SwaggerConfig {
}

3、跑一下

localhost:8080/swagger-ui.html

在這裏插入圖片描述

2、配置Swagger

Swagger的bean實例Docket;

在這裏插入圖片描述

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    //配置了Swagger的Docket的bean實例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_12)
                .apiInfo(apiInfo());
    }

    //配置swagger的信息 = apiinfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("滿世繁華", "https://blog.csdn.net/qq_34037264", "[email protected]");
        return  new ApiInfo(
                "繁華的Swagger API文檔",
                "好好學習 天天向上",
                "1.0",
                "https://blog.csdn.net/qq_34037264",
                 contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                 new ArrayList<VendorExtension>());

    }
}

3、配置swagger掃描接口

Docket().select();

    //配置了Swagger的Docket的bean實例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_12)
                .apiInfo(apiInfo())
                .select()
                //RequestHandlerSelectors , 配置掃描接口的方式
                //basepackage:指定要掃描的包
                //any():全部掃描
                //none():不掃描
                //withClassAnnotation():掃描類上的註解,參數是一個註解的反射對象
                //withMethodAnnotation():掃描方法上的註解
                .apis(RequestHandlerSelectors.any())
                //paths():過濾什麼路徑
                //.paths(PathSelectors.ant("msfh/**"))
                .build()
                ;
    }

4、配置是否啓動swagger

    //配置了Swagger的Docket的bean實例
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_12)
                .apiInfo(apiInfo())
                .enable(true)//enable是否啓用swagger ,如果爲false , 則swagger不能再瀏覽器中訪問
                .select()
                //RequestHandlerSelectors , 配置掃描接口的方式
                //basepackage:指定要掃描的包
                //any():全部掃描
                //none():不掃描
                //withClassAnnotation():掃描類上的註解,參數是一個註解的反射對象
                //withMethodAnnotation():掃描方法上的註解
                .apis(RequestHandlerSelectors.any())
                //paths():過濾什麼路徑
                //.paths(PathSelectors.ant("msfh/**"))
                .build()
                ;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章