Java非侵入式API接口即文档工具apigcc apiggs-maven-plugin

一个非侵入的api编译、收集、Rest文档生成工具。工具通过分析代码和注释,获取文档信息,生成RestDoc文档

前言

程序员一直以来都有一个烦恼,只想写代码,不想写文档。代码就表达了我的思想和灵魂。

Python提出了一个方案,叫docstring,来试图解决这个问题。即编写代码,同时也能写出文档,保持代码和文档的一致。docstring说白了就是一堆代码中的注释。Python的docstring可以通过help函数直接输出一份有格式的文档,本工具的思想与此类似。

代码即文档

Apigcc是一个非侵入的RestDoc文档生成工具。工具通过分析代码和注释,获取文档信息,生成RestDoc文档。

有这样一段代码

/**
 * 欢迎使用Apigcc
 * @index 1
 */
@RestController
public class HelloController {

    /**
     * 示例接口
     * @param name 名称
     * @return
     */
    @RequestMapping("/greeting")
    public HelloDTO greeting(@RequestParam(defaultValue="apigcc") String name) {
        return new HelloDTO("hello "+name);
    }

}

生成文档效果

Java非侵入式API接口即文档工具apigcc
apiggs-maven-plugin

使用方式

easy use apigcc with maven

install

<plugin>
    <groupId>com.github.apiggs</groupId>
    <artifactId>apiggs-maven-plugin</artifactId>
    <version><!-- 替换为上方版本号 --></version>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>apiggs</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <!-- options in there -->
    </configuration>
</plugin>

when you compile source code, apiggs will build rest doc.

 options

  1. id 项目id,生成id.html文件
  2. title 文档标题
  3. description 文档描述
  4. production 输出文件夹,默认为 apiggs
  5. out 输出目录,默认为 target
  6. source 源码目录
  7. dependency 源码依赖的代码目录,以逗号隔开
  8. jar 源码依赖的jar包目录,以逗号隔开
  9. ignore 忽略某些类型
  10. version 文档版本号

执行方法:

Java非侵入式API接口即文档工具apigcc
apiggs-maven-plugin

 查看API文档:

Java非侵入式API接口即文档工具apigcc
apiggs-maven-plugin

另外,也可以放入容器远程访问,方法如下:

这里提供了一个已打好的jar

运行项目

gradlew build
cd serviceuildlibs
java -jar apigcc-hub-{version}.jar

浏览器访问 http://127.0.0.1:8080

详情请参考:apigcc