Java非侵入式API接口文档工具apigcc用法详解

作者:BarryW 时间:2023-11-24 10:01:00 

一个非侵入的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);
 }

}

使用方式

apiggs-maven-plugin

easy use apigcc with maven

安装


<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

  • id 项目id,生成id.html文件

  • title 文档标题

  • description 文档描述

  • production 输出文件夹,默认为 apiggs

  • out 输出目录,默认为 target

  • source 源码目录

  • dependency 源码依赖的代码目录,以逗号隔开

  • jar 源码依赖的jar包目录,以逗号隔开

  • ignore 忽略某些类型

  • version 文档版本号

执行方法:

Java非侵入式API接口文档工具apigcc用法详解

查看API文档:

Java非侵入式API接口文档工具apigcc用法详解

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

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

运行项目

gradlew build
cd service\build\libs
java -jar apigcc-hub-{version}.jar

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

来源:https://www.cnblogs.com/barrywxx/p/11784267.html

标签:Java,api,文档,工具,apigcc
0
投稿

猜你喜欢

  • C# 图片剪切与缩小的实例

    2021-12-31 14:32:53
  • C#的通用DbHelper类(支持数据连接池)示例详解

    2022-01-14 11:59:56
  • Android数据库中事务操作方法之银行转账示例

    2023-07-22 07:56:13
  • IDEA安装后找不到.vmoptions文件的问题及解决

    2023-10-05 22:43:44
  • Spring自定义参数解析器代码实例

    2023-07-02 15:08:06
  • Android指纹识别功能

    2023-11-04 05:09:18
  • 如何基于FTP4J实现FTPS连接过程解析

    2022-09-19 21:51:35
  • android TabLayout使用方法详解

    2021-08-06 07:52:17
  • Android集成腾讯X5实现文档浏览功能

    2023-10-03 23:44:06
  • Android 显示刷新频率的实现代码

    2023-09-18 07:01:34
  • Android广播实现App开机自启动

    2023-01-06 14:54:44
  • Java 回调callback举例详解

    2023-11-11 16:25:09
  • 本地jvm执行flink程序带web ui的操作

    2022-09-03 20:49:00
  • Android SlidingMenu使用和示例详解

    2023-10-28 08:06:59
  • C#利用iTextSharp组件给PDF文档添加图片/文字水印

    2021-11-03 20:18:31
  • Java中的BufferedInputStream与BufferedOutputStream使用示例

    2021-10-20 01:14:56
  • 使用注解@Validated和BindingResult对入参进行非空校验方式

    2022-09-16 11:30:44
  • Java SpringBoot启动指定profile的8种方式详解

    2023-07-31 21:48:03
  • JAVA实现扫描线算法(超详细)

    2023-06-30 13:33:20
  • Gradle属性设置及环境变量全面教程

    2023-08-10 18:20:51
  • asp之家 软件编程 m.aspxhome.com