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文档:
另外,也可以放入容器远程访问,方法如下:
运行项目
gradlew build
cd service\build\libs
java -jar apigcc-hub-{version}.jar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
JavaApi实现更新删除及读取节点
1.更新 同步方式: /** * 三个参数 * the path of the node * the data to set * the expected matching version */ Stat stat = zooKeeper.setData("/set/node1", "NODE1".getBytes(), 1); 返回值Stat中封装了set命令中的返回值,可以通过Stat的各种get方法去获取. 异步方式: zooKeeper.setData(&q
-
Java Validation Api实现原理解析
前言: 涉及知识点:AOP.拦截器相关 功能主要实现类:因为bean validation只提供了接口并未实现,使用时需要加上一个provider的包,例如hibernate-validator 范围: 注解:@Valid @RequestBudy 主要实现类:RequestResponseBodyMethodProcessor 处理器:HandlerMethodArgumentResolver 注解说明: @Valid:标准JSR-303规范的标记型注解,用来标记验证属性和方法返回值,进行级联
-
Java 8 Stream Api 中的 map和 flatMap 操作方法
1.前言 Java 8提供了非常好用的 Stream API ,可以很方便的操作集合.今天我们来探讨两个 Stream中间操作 map(Function<? super T, ? extends R> mapper) 和 flatMap(Function<? super T, ? extends Stream<? extends R>> mapper) 2. map 操作 map 操作是将流中的元素进行再次加工形成一个新流.这在开发中很有用.比如我们有一个学生集合,我们
-
java validation 后台参数验证的使用详解
一.前言 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间.成本.质量的博弈中必然会落后.所以把校验层抽象出来是必然的结果,下面说下几种解决方案. 二.几种解决方案 1.struts2的valid可以通过配置xml,xml中描述规则和返回的信息,这种方式比较麻烦.开发效率低,不推荐 2.validation bean 是基于JSR-303标准开发出来的,使
-
JAVA中通过Hibernate-Validation进行参数验证
在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用. 1.maven中引入hibernate-validator对应的jar: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4
-
Springboot项目javax.validation使用方法详解
javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现. Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大.SpringBoot在内部集成了hibernate-validation,可以直接使用. 常用注解: 代码 说明 @Null 被注解的元素必须为null @NotNull 被注解的元素必须不为null @Asser
-
Java Validation Api使用方法实例解析
在我们应用程序的业务逻辑中,经常会碰到参数校验的情况,手动的在代码层上面进行校验就会带来很不好的体验,阅读.维护的成本会大大增加,造成冗余.因此有了这个JSR 303. Bean Validation为JavaBean提供了相应的API来给我们做参数的验证.通过Bean Validation比如@NotNull @Pattern等方法来对我们字段的值做进一步的教研. Bean Validation是一个运行时框架,在验证之后错误信息会直接返回. 依赖: <!--添加依赖--> <depe
-
Java调用腾讯云短信API接口的实现
前言 有想使用短信API服务的朋友可以如果没有注册腾讯云的话可以注册一下,好像新用户可以免费领取100条短信服务(PS:绝对不是打广告) 一.登录腾讯云操作平台 登陆腾讯云的平台https://cloud.tencent.com/,登陆成功后搜索短信,进入短信产品的控制台,进入短信平台后,需要创建签名和创建正文模板. 1.创建签名模板 2.创建正文模板 这两步都需要审核,按照指引填写即可,一般时间会在2小时左右. 当你的签名审核通过后,在控制台可以看到签名的id和签名的内容,其中签名的内容在后续
-
Java非侵入式API接口文档工具apigcc用法详解
一个非侵入的api编译.收集.Rest文档生成工具.工具通过分析代码和注释,获取文档信息,生成RestDoc文档 前言 程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. Python提出了一个方案,叫docstring,来试图解决这个问题.即编写代码,同时也能写出文档,保持代码和文档的一致.docstring说白了就是一堆代码中的注释.Python的docstring可以通过help函数直接输出一份有格式的文档,本工具的思想与此类似. 代码即文档 Apigcc是一
-
.NET Core利用swagger进行API接口文档管理的方法详解
一.问题背景 随着技术的发展,现在的开发模式已经更多的转向了前后端分离的模式,在前后端开发的过程中,联系的方式也变成了API接口,但是目前项目中对于API的管理很多时候还是通过手工编写文档,每次的需求变更只要涉及到接口的变更,文档都需要进行额外的维护,如果有哪个小伙伴忘记维护,很多时候就会造成一连续的问题,那如何可以更方便的解决API的沟通问题?Swagger给我们提供了一个方式,由于目前主要我是投入在.NET Core项目的开发中,所以以.NET Core作为示例 二.什么是Swagger S
-
java集成开发SpringBoot生成接口文档示例实现
目录 为什么要用Swagger ? Swagger集成 第一步: 引入依赖包 第二步:修改配置文件 第三步,配置API接口 Unable to infer base url For input string: "" Swagger美化 第一步: 引入依赖包 第二步:启用knife4j增强 Swagger参数分组 分组使用说明 1.在bean对象的属性里配置如下注释 2.在接口参数的时候加入组规则校验 小结 大家好,我是飘渺. SpringBoot老鸟系列的文章已经写了两篇,每篇的阅读反
-
SpringBoot使用swagger生成api接口文档的方法详解
目录 前言 具体例子 maven配置 项目application.yml配置 springApplication添加swagger注解 在控制层添加swagger注解 前言 在之前的文章中,使用mybatis-plus生成了对应的包,在此基础上,我们针对项目的api接口,添加swagger配置和注解,生成swagger接口文档 具体可以查看本站spring boot系列文章: spring boot项目使用mybatis-plus代码生成实例 具体例子 maven配置 在使用之前,我们需要添加s
-
Django 自动生成api接口文档教程
最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化测试 环境 Python3.6 ,PyCharm,W7 项目结构 功能实现 流程 我们要做的就是实现以上流程 安装 pip install djangorestframework pip install markdown pip install django-filter # Filtering s
-
java EasyExcel面向Excel文档读写逻辑示例详解
目录 正文 1 快速上手 1.1 引入依赖 1.2 导入与导出 2 实现原理 2.1 @RequestExcel 与 @ResponseExcel 解析器 2.2 RequestMappingHandlerAdapter 后置处理器 3 总结 正文 EasyExcel是一款由阿里开源的 Excel 处理工具.相较于原生的Apache POI,它可以更优雅.快速地完成 Excel 的读写功能,同时更加地节约内存. 即使 EasyExcel 已经很优雅了,但面向 Excel 文档的读写逻辑几乎千篇一
-
Flask实现swagger在线文档与接口测试流程详解
目录 1.什么是restful 2.swagger/openAPI能做什么 3.python如何实现swagger 4.flasgger的使用案例 5.完整代码 阅读对象:知道什么是restful,有了解swagger或者openAPI更佳. 1.什么是restful Representional State Transfer(REST):表征状态转移.是一种一种基于HTTP协议的架构.采用Web 服务使用标准的 HTTP 方法 (GET/PUT/POST/DELETE) 将所有 Web 系统的
-
对tensorflow中cifar-10文档的Read操作详解
前言 在tensorflow的官方文档中得卷积神经网络一章,有一个使用cifar-10图片数据集的实验,搭建卷积神经网络倒不难,但是那个cifar10_input文件着实让我费了一番心思.配合着官方文档也算看的七七八八,但是中间还是有一些不太明白,不明白的mark一下,这次记下一些已经明白的. 研究 cifar10_input.py文件的read操作,主要的就是下面的代码: if not eval_data: filenames = [os.path.join(data_dir, 'data_b
-
Java常用API类之Math System tostring用法详解
1.注意(类名不能与math重名,否则可能报错误) 1.math:可以直接拿来用的接口类 Math.abs(-90);返回参数的绝对值 Math.max(60,98)返回参数的最大值 Math.random()*100随机函数:随机输出一个数 等等 public static void main(String[] args){ int a = 1300, b = 1000; System.out.println(Math.abs(-90)); System.out.println(Math.ma
-
Java制作证书的工具keytool用法详解
目录 一.keytool的概念 二.keytool的用法 三.创建证书 四.查看密钥库里面的证书 五.导出到证书文件 六.导入证书 七.查看证书信息 八.删除密钥库中的条目 九.修改证书条目的口令 一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.
随机推荐
- Lua编程示例(八):生产者-消费者问题
- Java Web端程序实现文件下载的方法分享
- vbScript中WScript.Shell对象的run和exec使用心得分享
- 基于UIControl控件实现ios点赞功能
- javascript的回调函数应用示例
- 原生js实现数字字母混合验证码的简单实例
- php网站地图生成类示例
- Hibernate的JNDI绑定分析
- JS中动态添加事件(绑定事件)的代码
- 一个级联菜单(IE ONLY),不过代码很精简!
- jquery实现Slide Out Navigation滑出式菜单效果代码
- win2003架设证书服务器及让IIS6启用HTTPS服务
- PHP 存储文本换行实现方法
- Android界面切换出现短暂黑屏的解决方法
- php简单实现单态设计模式的方法分析
- python2.7安装图文教程
- Android仿360桌面手机卫士悬浮窗效果
- Vue 实现从文件中获取文本信息的方法详解
- Android利用Intent.ACTION_SEND进行分享
- 详解Python字典小结