springboot集成swagger

发布时间 2023-06-07 11:58:29作者: LiusCraft

引入并配置

引入依赖

这里引入的是 3 版本

<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-boot-starter</artifactId>
	<version>3.0.0</version>
</dependency>

配置拦截器(若有,则配置)

该配置是在有使用到拦截器,例如鉴权的拦截,就需要配置拦截器放行关于swagger的一些url

下面是关于swagger需要放行的url:

String[] SYSTEM_WHITELIST = {
	// swagger相关url
	"/swagger-resources/**","/swagger-ui/**", "/v3/**", "/error"
};

启用swagger的注解

@EnableOpenApi: 3版本启用注解
@EnableSwagger2: 2版本启用注解

swagger配置类

@Configuration
@EnableOpenApi
public class Swagger {
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.OAS_30) // 老版是:SWAGGER_2
                .apiInfo(apiInfo())
                .enable(true)
                .groupName("liuscraft")
                .select()
                .apis(RequestHandlerSelectors.basePackage("org.liuscraft.sfastadmin.web"))
                .paths(PathSelectors.ant("/api/**"))
                .build();
    }


    @SuppressWarnings("all")
    public ApiInfo apiInfo(){
        return new ApiInfo(
                "liuscraf api",
                "Sfast-admin project",
                "v1.0",
                "liuscraf@qq.com", //开发者团队的邮箱
                "liuscraft",
                "Apache 2.0",  //许可证
                "http://www.apache.org/licenses/LICENSE-2.0" //许可证链接
        );
    }
}

测试

访问SWAGGER-UI页面: http://localhost:8080/swagger-ui/index.html
访问 DOC API: http://localhost:8080/v3/api-docs