这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战
前言
在平时的多人开发过程中,正确的使用优秀的接口文档,可以减少大量的沟通成本,也可以让前后端更有效率的并行开发,更可以让后来者或者维护者更好更快的上手业务.
使用文档比无文档的项目更容易开发,更容易维护.
使用接口文档生成的接口文档,比第三方维护的文档更方便也更轻松,文档也和代码也更一致.
(一) 文档生成工具swagger
swagger是一个能直接生成接口文档,并能进行接口的是的工具.
(1)引入swagger依赖
1 | xml复制代码<dependency> |
其中springfox-swagger2
是swagger的主程序,负责将接口整理成restful形式的数据.
而springfox-swagger-ui
是默认的swagger前端界面样式包,默认的访问地址是/swagger-ui.html
,
此包可以换成自己喜欢的样式包,比如swagger-ui-layer
…
(2)springboot整合swagger
1 | scss复制代码//记得注解EnableSwagger2 |
(3)使用swagger注解 注释代码
在然后,在方法和参数上使用@ApiParam
,@ApiImplicitParams
,@ApiOperation
注解参数和接口
1 | less复制代码@ApiOperation(value="多个参数的例子", notes="两个参数的swagger例子,入参一个必填另个非必填") |
StudentSimpleDto.java 对象
1 | kotlin复制代码@Data |
(4)使用
启动项目,然后访问/swagger-ui.html
,即可看到swagger界面了
(二) 文档生成工具JApiDocs
JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档自动生成工具(也可以有注解)
(1)引入JApiDocs依赖
1 | xml复制代码<dependency> |
(2)正常写javaDoc注释
1 | typescript复制代码 /** |
StudentSimpleDto.java
1 | ruby复制代码@Data |
(3)使用
在测试类中运行main方法,生成html离线文档,在本地运行项目时可以直接当方法写在springboot的启动类中
1 | arduino复制代码public static void main(String[] args) { |
其中setProjectPath
是项目根目录,setDocsPath
是文档的生成目录
(三) swagger和JApiDocs对比
swagger解释基本能用的文档,就必须使用注解,必须侵入正常的业务代码
JApiDocs解释基本能用的文档,使用的是javadoc无需写注解,无需侵入代码,javadoc越规范,文档越清晰,但是使用更多的功能则也需要注解
swagger是直接运行直接生成在线的文档,项目启动即api启动
JApiDocs是基于源码生成的离线文档,需要后端控制生成.
1 | arduino复制代码 作者:ZOUZDC |
本文转载自: 掘金