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
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
- id 项目id,生成id.html文件
 - title 文档标题
 - description 文档描述
 - production 输出文件夹,默认为 apiggs
 - out 输出目录,默认为 target
 - source 源码目录
 - dependency 源码依赖的代码目录,以逗号隔开
 - jar 源码依赖的jar包目录,以逗号隔开
 - ignore 忽略某些类型
 - version 文档版本号
 
执行方法:

查看API文档:

另外,也可以放入容器远程访问,方法如下:
运行项目
gradlew build
cd service\build\libs
java -jar apigcc-hub-{version}.jar
浏览器访问 http://127.0.0.1:8080
详情请参考:apigcc
Java非侵入式API接口即文档工具apigcc的更多相关文章
- asp.net core web api 生成 swagger 文档
		
asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果 ...
 - Spring学习(1):侵入式与非侵入式,轻量级与重量级
		
一. 引言 在阅读spring相关资料,都会提到Spring是非侵入式编程模型,轻量级框架,那么就有必要了解下这些概念. 二. 侵入式与非侵入式 非侵入式:使用一个新的技术不会或者基本不改变原有代码结 ...
 - Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
		
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
 - Spring 侵入式和非侵入式
		
1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须从Spring框架的系统API的某个类来继承或者实现某个接口. 2.如何实现非侵入式 ...
 - Spring框架是一种非侵入式的轻量级框架
		
摘自<Spring框架技术> Spring框架是一种非侵入式的轻量级框架 1.非侵入式的技术体现 允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必 ...
 - 支付宝开源非侵入式 Android 自动化测试工具 Soloπ
		
Soloπ(SoloPi)是支付宝开源的一个无线化.非侵入式的Android自动化测试工具,公测版拥有录制回放.性能测试.一机多控三项主要功能,能为测试开发人员节省宝贵时间. 本文是SoloPi团队关 ...
 - 使用phpAnalysis打造PHP应用非侵入式性能分析器
		
使用phpAnalysis打造PHP应用非侵入式性能分析器,查找PHP性能瓶颈. 什么是phpAnalysis phpAnalysis是一款轻量级非侵入式PHP应用性能分析器,适用于开发.测试及生产环 ...
 - MVC的验证(模型注解和非侵入式脚本的结合使用)   .Net中初探Redis   .net通过代码发送邮件  Log4net (Log for .net)  使用GDI技术创建ASP.NET验证码  Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
		
MVC的验证(模型注解和非侵入式脚本的结合使用) @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...
 - BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
		
开发者博客: BlockCanary — 轻松找出Android App界面卡顿元凶 开源代码:moduth/blockcanary BlockCanary对主线程操作进行了完全透明的监控,并能输出有 ...
 
随机推荐
- Kubernetes 之 Nameserver limits were exceeded
			
1.问题描述 最近查看kubernetes 的events,发现了有两个节点经常出现下面的信息: DNSConfigForming Nameserver limits were exceeded, s ...
 - JWT攻击手册
			
JSON Web Token(JWT)对于渗透测试人员而言可能是一种非常吸引人的攻击途径,因为它们不仅是让你获得无限访问权限的关键,而且还被视为隐藏了通往以下特权的途径:特权升级,信息泄露,SQLi, ...
 - 【redis】redis异常-MISCONF Redis is configured to save RDB snapshots
			
使用redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis ...
 - RabbitMQ系列(一)rabbitmq简介
			
------------恢复内容开始------------ 参考:https://www.cnblogs.com/vipstone/p/9275256.html RabbitMQ简介 在介绍Rabb ...
 - ASP.NET Core 3.0 使用AspectCore-Framework实现AOP
			
AspectCore是适用于Asp.Net Core 平台的轻量级Aop(Aspect-oriented programming)解决方案,它更好的遵循Asp.Net Core的模块化开发理念,使用A ...
 - BCP 运行错误
			
记录下使用bcp导出csv文件时的错误: [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 '***'无效问题的解决方案器 我们要对student数 ...
 - Delphi2007 在Win10 下运行报错 Assertion failure
			
Delphi2007 原来安装在Win7 下 运行正常, 自从升级到Win10 ,新建工程运行然后关闭报错, 报错信息如下: ---------------------------bds.exe - ...
 - ** PC端完美兼容各种分辨率的简便方法 **
			
原文链接:https://blog.csdn.net/qq_43156398/article/details/102785370 PS:此方法需使用到less或者scss的@变量来支持 以设计图 19 ...
 - 轻量级手绘软件openCanvas免费版,手绘板CG手绘软件
			
轻量级手绘软件openCanvas免费版,手绘板CG手绘软件 手绘软件通俗一点来说就是用手来绘画的软件,应用很宽泛如建筑,服饰陈列设计.橱窗设计.家居软装设计.空间花艺设计.美术.园林.环艺.摄影.工 ...
 - Visual Studio 项目在修改项目版本时,使用 * 通配符报错
			
CS8357 C# The specified version string contains wildcards, which are not compatible with determinis ...