• springboot2,gradle集成swagger2


    gradle文件增加

    // swagger
        implementation "io.springfox:springfox-swagger2:2.9.2"
        implementation "io.springfox:springfox-swagger-ui:2.9.2"
    

      

    添加配置类SwaggerConfig

    package com.zuo.model.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Profile;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    @Configuration
    @EnableSwagger2 //添加swagger启用注解
    //@Profile({"dev", "test"}) //方式一
    //@ConditionalOnProperty(name = "swagger2.enable", havingValue = "true") //方式二
    public class SwaggerConfig {
    
        //读取yml文件配置
        @Value("${swagger2.enable}")
        private boolean swagger2Enable;
    
        /**
         * .enable()  控制是否进行初始化
         * .select()  初始化并返回一个API选择构造器
         * .paths(PathSelectors.any())   设置路径筛选器
         * .apis(RequestHandlerSelectors.basePackage("com.xxx.xxx.xxx"))  添加路径选择条件
         * .build();    构建
         *
         * PathSelectors 类的方法:
         *  - Predicate<String> any():满足条件的路径,该断言总为true
         *  - Predicate<String> none():不满足条件的路径,该断言总为false
         *  - Predicate<String> regex(final String pathRegex):符合正则的路径
         *
         * RequestHandlerSelectors 类的方法:
         *  - Predicate<RequestHandler> any():返回包含所有满足条件的请求处理器的断言,该断言总为true
         *  - Predicate<RequestHandler> none():返回不满足条件的请求处理器的断言,该断言总为false
         *  - Predicate<RequestHandler> basePackage(final String basePackage):返回一个断言(Predicate),该断言包含所有匹配basePackage下所有类的请求路径的请求处理器
         */
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .enable(swagger2Enable)  //方式三
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.zuo.model.controller"))  // 注意修改此处的包名
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("项目模板集成系统")
                    .description("API接口文档")
                    .version("1.0.0")
                    .build();
        }
    }

    生产环境建议不要启用swagger

    配置如下

     

     访问swagger

    http://localhost/swagger-ui.html

    配置成功

  • 相关阅读:
    Axure RP 9 Beta 开放下载(更新激活密钥和汉化包)
    Android 解决NestedScrollView 嵌套 RecyclerView出现的卡顿,上拉刷新无效
    上周热点回顾(8.27-9.2)团队
    上周热点回顾(8.20-8.26)团队
    上周热点回顾(8.13-8.19)团队
    上周热点回顾(8.6-8.12)团队
    阿里云MVP第6期招募与博客园合作启动团队
    上周热点回顾(7.30-8.5)团队
    上周热点回顾(7.23-7.29)团队
    上周热点回顾(7.16-7.22)团队
  • 原文地址:https://www.cnblogs.com/zzuuoo666/p/12722502.html
Copyright © 2020-2023  润新知