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

 更新时间:2020年07月06日 09:15:57   作者:BarryW  
这篇文章主要介绍了Java非侵入式API接口文档工具apigcc用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一个非侵入的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 文档版本号

执行方法:

查看API文档:

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

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

运行项目

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot通过自定义注解实现参数校验

    SpringBoot通过自定义注解实现参数校验

    实现参数校验说实话方式还挺多,个人使用过直接在Controller代码里面写、AOP+自定义注解、ConstraintValidator。本文主要和大家讲的是ConstraintValidator实现,感兴趣的可以了解一下
    2022-12-12
  • spring Roo安装使用简介

    spring Roo安装使用简介

    这篇文章主要介绍了spring Roo安装使用简介,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Java如何获取当天零点和明天零点的时间和时间戳

    Java如何获取当天零点和明天零点的时间和时间戳

    这篇文章主要介绍了如何在Java中获取当天零点和明天零点的时间和时间戳,并提供了示例代码,新手小白完全可以通过文中介绍的代码实现,需要的朋友可以参考下
    2025-03-03
  • Java网络编程之简易聊天室的实现

    Java网络编程之简易聊天室的实现

    这篇文章主要为大家详细介绍了如何利用Java语言实现一个简易聊天室功能,可以实现运行客户端和连接服务器,文中的示例代码讲解详细,需要的可以了解一下
    2022-10-10
  • Spring MVC中使用Google kaptcha验证码的方法详解

    Spring MVC中使用Google kaptcha验证码的方法详解

    kaptcha 是一个非常实用的验证码生成工具。有了它,你可以生成各种样式的验证码,因为它是可配置的,下面这篇文章主要给大家介绍了关于Spring MVC中使用Google kaptcha验证码的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • Java根据日期截取字符串的多种实现方法

    Java根据日期截取字符串的多种实现方法

    在实际开发中,我们经常会遇到需要根据日期来截取字符串的需求,例如从文件名中提取日期信息,Java 提供了多种方法来实现根据日期来截取字符串的功能,本文将给大家介绍了Java根据日期截取字符串的多种实现方法,需要的朋友可以参考下
    2024-11-11
  • spring security 自定义Provider 如何实现多种认证

    spring security 自定义Provider 如何实现多种认证

    这篇文章主要介绍了spring security 自定义Provider实现多种认证方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java截取字符串的方法

    Java截取字符串的方法

    这篇文章主要介绍了Java截取字符串的方法,实例分析了java中substring方法的使用技巧,需要的朋友可以参考下
    2015-05-05
  • http协议进阶之Transfer-Encoding和HttpCore实现详解

    http协议进阶之Transfer-Encoding和HttpCore实现详解

    这篇文章主要给大家介绍了http协议之Transfer-Encoding和HttpCore实现的相关资料,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • 解决mybatis plus报错Invalid bound statement (not found):问题

    解决mybatis plus报错Invalid bound statement 

    在使用MyBatis时遇到InvalidBoundStatement异常,常因多个MapperScan配置冲突或者包扫描路径设置错误,解决方法包括保留一个MapperScan声明、检查jar包冲突、确保命名空间和扫描路径正确,使用@TableId注解指定主键
    2024-11-11

最新评论