springboot整合swagger2,看这一篇就可以了

swagger2

swagger是个非常不错的接口文档工具,简单易用,方便后端开发人员和前端同学进行接口对接。文档直观,可操作。此处笔者介绍springboot整合swagger2。

添加依赖

  • swagger2 为核心依赖
  • swagger-ui 主要用于前端ui展示
<!--springboot-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 
 <!--swagger2-->
 <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>

配置类

  • 一定要注意增加@Configuration和@EnableSwagger2注解,前者作用:spring启动时注入配置类,后者作用是开启swagger2的配置。
  • .apis配置api文档路径,一定要正确,配置到controller路径。
  • apiInfo() 主要是api文档的信息介绍。
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                /**
                 * 配置swagger api包路径
                 */
                .apis(RequestHandlerSelectors.basePackage("com.hugo.talk.basic.controller"))
                .paths(PathSelectors.any())
                .build()
                .tags(new Tag("BasicController", "spring-all 基础模块"));
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("spring-all API")
                .description("spring-all API reference for developers")
                .contact(new Contact("hugo0129", "https://github.com/hugo0129/spring-all", "hugolovefreedom@gmail.com"))
                .version("1.0")
                .build();
    }

}

注解介绍

  • @Api(tags = "BasicController"):作用于controller类,用于标注controller类,tags是为不同的controller加上注释说明
  • @ApiOperation("get请求参数测试"):作用于方法,用于标注方法的作用。
  • @ApiModel("Person实体类"):作用于实体类,用于标注实体类的业务作用。
  • @ApiModelProperty("姓名"):作用于属性,用于标注属性的业务作用。
@Data
@ApiModel("Person实体类")
public class Person {
    @ApiModelProperty("姓名")
    private String name;

    @ApiModelProperty("姓名")
    private Integer age;

    @ApiModelProperty("性别:0-未知 1-男性 2-女性")
    private Integer sex;

    @ApiModelProperty("爱好")
    private String hobby;
}

运行效果

启动springboot项目,访问:localhost:8080/swagger-ui.html


swagger-ui效果

可以对每个方法进行测试,请求:


请求方法

响应:
响应结果

源代码

  • github地址

  • 后续会对springboot相关知识进行持续更新和分享。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。