springboot-swagger:配置API分組


承接:springboot-swagger:配置開關

1 配置分組

如果沒有配置分組,默認是default.通過groupName()方法即可配置分組

1.1 修改SwaggerConfig

src/main/java/com/lv/config/SwaggerConfig.java

//配置了Swagger的Docket的bean實例
@Bean
public Docket docket(Environment environment){

    //設置要顯示的swagger環境
    Profiles profiles = Profiles.of("dev", "test");
    //通過environment.acceptsProfiles判斷是否處在自己設定的環境當中
    boolean flag = environment.acceptsProfiles(profiles);

    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .groupName("新一")
            .enable(flag)//enable是否啟動Swagger,如果為false,則Swagger不能在瀏覽器中訪問
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.lv.controller"))
            //.paths(PathSelectors.ant("/lv/**"))
            .build();
}

1.2 啟動程序測試

2 配置多個分組

配置多個分組只需要在SwaggerConfig配置多個docket即可

2.1 修改SwaggerConfig

src/main/java/com/lv/config/SwaggerConfig.java

package com.lv.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import springfox.documentation.builders.RequestHandlerSelectors;
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;

import java.util.ArrayList;

@Configuration
@EnableSwagger2 //開啟Swagger2
public class SwaggerConfig {

    @Bean
    public Docket docket1(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("A");
    }
    @Bean
    public Docket docket2(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("B");
    }
    @Bean
    public Docket docket3(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("C");
    }

    //配置了Swagger的Docket的bean實例
    @Bean
    public Docket docket(Environment environment){
        //設置要顯示的swagger環境
        Profiles profiles = Profiles.of("dev", "test");
        //通過environment.acceptsProfiles判斷是否處在自己設定的環境當中
        boolean flag = environment.acceptsProfiles(profiles);
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .groupName("新一")
                .enable(flag)//enable是否啟動Swagger,如果為false,則Swagger不能在瀏覽器中訪問
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.lv.controller"))
                //.paths(PathSelectors.ant("/lv/**"))
                .build();
    }

    //配置swagger信息 : apiInfo
    private ApiInfo apiInfo(){
        //作者信息
        Contact contact = new Contact("工藤新一", "https://www.cnblogs.com/lv1024/", "1148397597@qq.com");
        return new ApiInfo(
                "工藤新一的swaggerAPI文檔",
                "心機之蛙一直摸你肚子",
                "v1.0",
                "https://www.cnblogs.com/lv1024/",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList<>());
    }
}

2.2 重啟程序測試

多個分組配置成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM