使用apiggs生成接口文档

与swagger的区别:

swagger就可以自动生成文档,但是swagger是侵入式的,和业务代码混在一起,而apiggs是一个非侵入式的maven插件,可以生成三种格式的文档:
html:api文档
json:可直接导入postman
adoc:一种asciidoc文档,可用文件处理器转换成其它格式文档,如html等

使用

添加pom依赖

<plugin>
    <groupId>com.github.apiggs</groupId>
    <artifactId>apiggs-maven-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>apiggs</goal>
            </goals>
        </execution>
    </executions>
    <!--以下配置可选-->
    <configuration>
        <id>api</id>
        <title>接口文档</title>
        <dependency>../manage-domain/src/main/java</dependency>      
        <description>manage-core 文档</description>        
        <out>..</out>
        <version>1.0.1</version>
    </configuration>
</plugin>

<dependency>../manage-domain/src/main/java</dependency>是实体对象所在路径,当没有dependency内容时不会读取到返回的对象导致没有参数输出。

configuration配置说明:
id 项目id,生成的html文件名
title 文档标题
description 文档描述
production 输出文件夹,默认为 apiggs
out 输出目录,默认为 target
source 源码目录(1.6不支持该标签)
dependency 源码依赖的代码目录,以逗号隔开
jar 源码依赖的jar包目录,以逗号隔开
ignore 忽略某些类型
version 文档版本号

其中dependency中可以有多个依赖目录中间以,进行区分。
在启动类中添加@readme为目录的说明即为下面的文档说明内容,@index 2为第二个展示的目录,表示目录顺序Controller上面的注解说明为目录名称,Mapping请求上面的方法注释为方法的目录名称。

/**
 * @readme 本项目的所有接口采用json 协议,为运营平台提供后台接口。
 */
@SpringBootApplication
@Configuration
@ComponentScan({"com.oppo.bot.common", "com.oppo.bot.manage"})
@MapperScan({"com.oppo.bot.manage.dal.mapper"})
@ImportResource(locations = { "classpath:applicationContext.xml","classpath:${dubbo.consumer.xml}"})
public class Application {

   public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
   }
}

在类名上添加注释

/**
 * 角色表 RoleController
 *
 * @author zhang
 * @since 2017-11-13
 */

在方法上添加注释

/**
 * 审核成功
 *
 * @param purc
 * @param ptC
 * @Author zhang
 * @Date 2017/11/13 18:05
 * @Return com.cqrk.grouptwo.common.Result
 * @Exception
 */

生产的文档如下格式:

使用apiggs生成接口文档

接口格式如下所示:index代表在文档中的顺序

使用apiggs生成接口文档


参考链接:https://www.pianshen.com/article/69391518664/

上一篇:01 django项目创建前期准备


下一篇:Github —— 给他人开放 push 权限