Swagger的常用配置

一:可在项目中创建SwaggerConfig配置类,对文档详细信息进行配置

//swagger配置类,用于配置swagger的详细信息,比如标题、网站、邮箱
@Configuration
public class SwaggerConfig {
    /**
     * 返回docket对象描述
     * @return
     */
    @Bean
    public Docket getDocket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(swaggerDemoApiInfo())
                .select()
                .build();
    }

    /**
     * 返回信息描述的对象
     * @return
     */
    private ApiInfo swaggerDemoApiInfo(){
        return new ApiInfoBuilder()
                .contact(new Contact("杨露","http:www.baidu.com","2568673349@qq.com"))
                .title("这里是swagger的标题")
                .description("这里是swagger的描述")
                .version("1.0.0")
                .build();
    }
}

效果如下:

 

二:配置,哪些不需要生成接口文档的配置

1.配置扫描的包路径,设置哪个包中的内容被扫描

@Bean
public Docket getDocket(){
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(swaggerDemoApiInfo())
            .select()
        .apis(RequestHandlerSelectors.basePackage("com.example.springswaggerdemo.controller"))
            .apis(not(withMethodAnnotation(NotIncludeSwagger.class)))
            .build();
}

2.创建自定义注解,自定义注解设置不需要生成接口文档的方法

//自定义注解
@Target({ElementType.METHOD})//这个注解是针对类的还是针对方法的
@Retention(RetentionPolicy.RUNTIME)//在运行时来调用这个注解
public @interface NotIncludeSwagger {
}

2.在docket里面把这个注解配置进去,被这个注解修饰的,就跳过

@Bean
public Docket getDocket(){
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(swaggerDemoApiInfo())
            .select()
            .apis(not(withMethodAnnotation(NotIncludeSwagger.class)))
            .build();
}

三:设置满足什么样规则的url可以生成接口文档,可以使用正则表达式进行匹配。

下面的例子表示只有以/people/和/person/开头的url才能生成接口文档

@Bean
public Docket getDocket(){
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(swaggerDemoApiInfo())
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.example.springswaggerdemo.controller"))
            .apis(not(withMethodAnnotation(NotIncludeSwagger.class)))
            .paths(or(PathSelectors.regex("/people/.*"), PathSelectors.regex("/person/.*")))
            .build();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值