Spring boot整合Swagger2 -- 自动构建接口文档 - Go语言中文社区

Spring boot整合Swagger2 -- 自动构建接口文档


简述

如果你是一名后端项目开发者,你写好了接口,前端人员如果想知道,就需要你们之前协调书写一个API接口文档来进行交流。

API接口文档难写不说,维护也是一个问题。

我们何不让他自己生成动态接口文档呢? Swagger就扮演这样一个角色,起到了这样一个作用。
在这里插入图片描述
Swagger提供了用于生成,可视化和维护API文档的一系列解决方案,使API文档的编辑不再需要人工操作。

Spring boot项目中整合Swagger2

1.目前最新版本是2.9.2,所以我们在项目的pom.xml文件中导入相关依赖

		<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>

右下角,导入pom.xml文件的改变
在这里插入图片描述
2.创建Swagger2配置类


/**
 * @author 阳光大男孩!!!
 */
@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket webApiConfig() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                //用于指定文档信息
                .apiInfo(apiInfo())
                .select()
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("接口文档")
                .description("本文档是描述xxxxx")
                .version("1.0")
                .contact(new Contact("阳光大男孩", "https://blog.csdn.net/weixin_43889841", "xxx"))
                .build();
    }

}

3.如果你的端口开放的是8080,那么访问http://localhost:8080/swagger-ui.html,一个接口文档就生成了

在这里插入图片描述

4.除此之外,亦可以像postman测试接口一样,测试API
在这里插入图片描述
我们测试的是一个用于购买商品的接口,由于我们的库存已经是0,所以返回了状态码为200,信息为抢购失败的信息。
在这里插入图片描述

相关注解

注解 作用
@Api 修饰整个类,用于controller类上
@ApiOperation 描述一个接口,用户controller方法上
@ApiParam 单个参数描述
@ApiModel 用来对象接收参数,即返回对象
@ApiModelProperty 对象接收参数时,描述对象的字段
@ApiResponse Http响应其中的描述,在ApiResonse中
@ApiResponses Http响应所有的描述,用在
@ApiIgnore 忽略这个API
@ApiError 发生错误的返回信息
@ApiImplicitParam 一个请求参数
@ApiImplicitParam 多个请求参数

这些注解是用来干什么的?

用来控制接口文档的显示内容。

例如刚才我们购买商品的接口
在这里插入图片描述
并没有注释这个接口是干嘛的,我们则可以使用@ApiOperation 注解。

 @ApiOperation("购买商品的接口")
    @PostMapping("/purchase")
    public RespBean purchase(Long userId,Long productId,Integer num)
    {
        System.out.println("1");
        boolean success=purchaseProductService.purchase(productId,userId,num);
        if(success)
        {
            return RespBean.ok("抢购成功");
        }
        return RespBean.ok("抢购失败");
    }

重启项目,此时该接口已经有了相关说明
在这里插入图片描述

其他注解的测试,大家有兴趣可以自己测试一下。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43889841/article/details/104196288
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢