apidoc-maven-plugin是一个接口文档自动生成插件,其核心逻辑就是通过接口解析模块apidoc-core来生成第三方接口文档处理工具apidoc能够识别的接口描述文件。该插件主要目的是提供一种简单、方便的接口文档生成方式,不用开发人员耗费过多精力在接口文档上面,你只需要按照javadoc规范把注释写好就行,其他的就交给工具来完成吧。另外也可以结合自动化处理脚本来实现接口文档的自动管理。
在工程中加入插件依赖
<plugin>
<groupId>com.arsframework</groupId>
<artifactId>apidoc-maven-plugin</artifactId>
<version>1.3.11</version>
</plugin>
插件可通过Maven命令mvn apidoc:build运行,或者通过IDEA运行插件,默认会在项目/模块根目录下生成一个名字叫“项目/模块名称.apidoc”的接口描述文件,然后通过apidoc命令生成接口文档。
插件提供了一些参数来控制插件默认行为:
displayDate : 是否显示接口日期,默认为false。如果参数值为true,插件将按照接口方法、接口类的顺序依次解析@date注释,直到获取到有效的参数值,没有则不显示。
displayAuthor : 是否显示接口作者,默认为false。如果参数值为true,插件将按照接口方法、接口类的顺序依次解析@author注释,直到获取到有效的参数值,没有则不显示。
enableSampleRequest : 是否启用接口请求,默认为false。如果参数值为true,接口文档将展示接口请求表单,否则在将接口文档中插入@apiSampleRequest off标记来关闭该功能,该参数需要与apidoc.json里面的sampleUrl参数配合使用(参考apidoc)。
includeGroupIdentities : 接口文档所包含的Maven groupId列表,多个值之间使用","号隔开,默认包含当前项目的Group Identity。插件将根据该配置下载依赖包源码,并从这些源码中去解析接口文档信息,其中接口参数的解析与否也与此参数有关。
output : 接口文档输出文件,默认为${project.basedir}/${project.name}.apidoc。
enableResponseExample : 是否启用响应参数示例,默认为true。也可以通过在参数注视中加入@example来设置参数示例。
enableSnakeUnderlineConversion : 是否启动将参数格式由驼峰转为下划线,默认false。如果参数已使用com.arsframework.spring.web.utils.param.Rename、com.fasterxml.jackson.annotation.JsonProperty、com.fasterxml.jackson.databind.annotation.JsonNaming注解,则忽略该参数。
analyserFactoryClass : 设置自定义接口解析对象工厂类,通过该参数可覆盖系统默认处理逻辑。接口解析对象工厂接口为com.arsframework.apidoc.core.MethodAnalyser.Factory。