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/

posted @ 2019-09-09 15:55  紫枫夜羽  阅读(171)  评论(0编辑  收藏  举报