• Spring Boot 集成 swagger


    1.添加pom

            <!--swagger-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
            </dependency>
            <!--swagger 增强界面-->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>swagger-bootstrap-ui</artifactId>
                <version>1.8.7</version>
            </dependency>

    2.配置swagger配置类

    package com.coding.mall.config;
    
    import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
    import com.google.common.base.Predicates;
    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.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    
    @Configuration
    @EnableSwagger2
    @EnableSwaggerBootstrapUI  //第三方swagger增强API注解
    public class Swagger2Config {
        //核心对象 Docket
    
        /**
         * 前端
         * @return
         */
        @Bean
        public Docket webApiConfig() {
            // 过滤掉 /admin 的所有请求
            return new Docket(DocumentationType.SWAGGER_2)
                    .groupName("webApi")
                    .apiInfo(webApiInfo())
                    .select()
                    .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                    .paths(Predicates.not(PathSelectors.regex("/error.*")))
                    .build();
        }
    
    
        private ApiInfo webApiInfo() {
            // 建造者模式
            return new ApiInfoBuilder()
                    .title("艾编程商城-产品中心API文档")
                    .description("产品中心微服务!")
                    .version("1.0")
                    .contact(new Contact("Coding", "http://icodingedu.com", "coding666@qq.com"))
                    .build();
        }
    
        // 后台管理员的
        @Bean
        public Docket adminApiConfig() {
            // 只要 /admin 的所有请求
            return new Docket(DocumentationType.SWAGGER_2)
                    .groupName("adminApi")
                    .apiInfo(adminApiInfo())
                    .select()
                    .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                    .build();
        }
    
        private ApiInfo adminApiInfo() {
            // 建造者模式
            return new ApiInfoBuilder()
                    .title("艾编程商城-产品中心管理端API文档")
                    .description("产品中心微服务管理中心!")
                    .version("1.0")
                    .contact(new Contact("Coding", "http://icodingedu.com", "coding666@qq.com"))
                    .build();
        }
    
    }

    3.访问地址

      如未使用增强ui, 则访问路径为:  http://localhost:8080/swagger-ui.html  (默认)

      增强UI 访问路径: http://localhost:8080/doc.html

    官方文档:http://www.xiaominfo.com/swagger-bootstrap-ui/

  • 相关阅读:
    [ASP.NET]ScriptManager控件使用
    [ASP.NET]使用uploadify上传图片,并在uploadify按钮上生成预览图
    [Javascript]js判断是否为undefined类型
    [Bug]转:使用jquery的 uploadify,在谷歌浏览器上总会崩溃的解决方法
    [NHibernate]Nhibernate如何映射sqlserver中image字段
    远程访问CENTOS的MYSQL数据库设置
    DELPHI的一些开源项目GIT地址
    unigui导出EXCEL使用NATIVEEXCEL
    IdHTTPServer(indy10)开发REST中间件
    centos7安装MYSQL
  • 原文地址:https://www.cnblogs.com/418836844qqcom/p/11492190.html
Copyright © 2020-2023  润新知