Swagger@Java

188 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情 >>

知识背景: 开发中不难遇到前后端分离的架构,前端与我们后端的开发是并行的,那么我们除了写自己的代码之外,我们还需要一些额外的的工具来帮助我们跟前端沟通,下面我们将为大家介绍其中以一种常见的工具 --> Swagger

Swagger,它可以根据我们的代码去自动生成html文档,向前端描述清楚我们的API如何去使用的,而我们后端的程序员只需要通过简单的注释,就可以不用再去写API文档了,大大减少我们维护文档的工作量。

  • Swagger的使用
    • 首先,我们还是要引入相关的开发包,并且在我们Spring boot的启动类上加一个注解@EnableSwagger2,这样我们的swagger就与我们项目整合好了。
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.7.0</version>
    </dependency>
    
    我们启动好项目,访问http://ip:port/swagger-ui.html就可以进入我们的Swagger页面里面了,里面是我们写的Controller和Spring MVC提供的Endpoint描述,他们都是用来处理HTTP请求的。

1.jpg

2.jpg

  • Swagger常用注解:
NameDesc
@Api用在类上,说明该类的作用。
@ApiOperation注解来给API增加方法说明。
@ApiImplicitParams用在方法上包含一组参数说明。
@ApiImplicitParam用来注解来给方法入参增加说明。    
@ApiResponses用于表示一组响应
@ApiResponse用在@ApiResponses中,一般用于表达一个错误的响应信息
@ApiModel描述一个Model的信息
@ApiModelProperty描述一个model的属性

总結: 开发中基本上写interface的提供其他公司或平台进行调用的情况下是比较好用的 ,可以直接进行接口API查看 ,以及接口的调用,包括前后端分离的时候也不用总结开发文档转发给前那段去做一个API,一个注解方便省事,还是死可以用起来的,如果有更好的接口文档生成的工具,欢迎补充。

See you next time...