美文网首页
springboot整合swagger2,看这一篇就可以了

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

作者: 雨果是程序员 | 来源:发表于2020-05-17 16:40 被阅读0次

    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相关知识进行持续更新和分享。

    相关文章

      网友评论

          本文标题:springboot整合swagger2,看这一篇就可以了

          本文链接:https://www.haomeiwen.com/subject/dwesohtx.html