其他分享
首页 > 其他分享> > Swagger使用

Swagger使用

作者:互联网

Swagger简介

官网:https://swagger.io/#

在项目中使用Swagger需要springbox

SpringBoot集成Swagger

  1. 新建一个SpringBoot-web项目
  2. 导入相关依赖
<!-- springfox-swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>3.0.0</version>
</dependency>

<!-- springfox-swagger-ui -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>3.0.0</version>
</dependency>
// 配置了Swagger,但Swagger-ui.html网页打不开
// 解决方法:在pom中把swagger降级
// 如果你是3.0.0,降到2.9.2即可,再进入Swagger-ui.html就可以了
  1. 编写一个Hello工程
  2. 配置SwaggerConfig文件
@Configuration
@EnableSwagger2 // 开启Swagger2
public class SwaggerConfig {
}
  1. 测试运行
    image

配置Swagger

Swagger的bean实例Docket

  // 配置Swagger的Docket的Bean实例
  @Bean
  public Docket docket(){
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo());
  }

  // 配置Swagger信息:apiInfo
  private ApiInfo apiInfo(){
    Contact contact = new Contact("", "", "");

    return new ApiInfo(
        "Api Documentation",
        "Api Documentation",
        "v1.0",
        "urn:tos",
        contact,
        "Apache 2.0",
        "http://www.apache.org/licenses/LICENSE-2.0",
        new ArrayList());
  }

Swagger配置扫描接口
Docket.select()

  @Bean
  public Docket docket(){
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        // RequestHandlerSelectors: 配置接口扫描的方式
        // basePackage: 指定要扫描的包
        .apis(RequestHandlerSelectors.basePackage("com.mao.blog.controller"))
        // 过滤扫描的路径
        .paths(PathSelectors.ant("hello/**"))
        .build();
  }

配置是否开启Swagger

  // 配置Swagger的Docket的Bean实例
  @Bean
  public Docket docket(){
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .enable(false)  // enable开关
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.mao.blog.controller"))
        .build();
  }

标签:配置,Bean,apiInfo,使用,new,Swagger,Docket
来源: https://www.cnblogs.com/rookiezhi/p/15486977.html