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()
                ;
    }
发布了60 篇原创文章 · 获赞 96 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/qq_34037264/article/details/104572768
今日推荐