SpringBoot集成Swagger

来自多彩世界 2020-06-21

SpringBoot集成Swagger和Swagger UI。

首先导入依赖

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.9.2</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.9.2</version>
		</dependency>

添加配置类SwaggerConfig.java

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                //.apis(RequestHandlerSelectors.any())
                // 指定包名的方式过滤接口
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                //.paths(PathSelectors.any())
                // url过滤接口
                .paths(Predicates.or(PathSelectors.ant("/user/add"),
                        PathSelectors.ant("/user/find/*")))
                .build()
                .apiInfo(apiInfo());
    }

    // 配置文档信息
    private ApiInfo apiInfo() {
        return new ApiInfo(
                "Spring Boot 项目集成 Swagger 实例文档",
                "我的博客网站:https://liux.me,欢迎大家访问。",
                "API V1.0",
                "Terms of service",
                new Contact("博客", "https://liux.me", "hhsilo@outlook.com"),
                "Apache", "http://www.apache.org/", Collections.emptyList());
    }
}

接口描述

// 描述controller
@Api(tags = "用户相关接口", description = "提供用户相关的 Rest API")

// 描述controller方法
@ApiOperation("新增用户接口")

// 描述实体类
@ApiModel("用户实体")

// 描述实体类属性
@ApiModelProperty("用户 id")

// 接口过滤,在方法上添加
@ApiIgnore

启动项目,打开http://localhost:8080/swagger-ui.html

参考链接