Apiggs —— 非侵入性的 RestDoc 文档生成工具

简介:

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

代码即文档

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

有这样一段代码

/**
 * Building a RESTful Web Service
 * 来自spring的官方示例:https://spring.io/guides/gs/rest-service/
 */
@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    /**
     * Web Endpoint greeting
     * @param name who is this
     * @return
     */
    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return new Greeting(counter.incrementAndGet(),
                String.format(template, name));
    }
}

运行插件

gradle  运行  task: Tasks/documentation/apiggs

maven 运行  compile

生成文档

在编译目录下生成apiggs文件夹,并生成三个文件:

1. .json文件,可直接导入postman

1. .adoc文件,Asciidoc源文件

1. .html文件,源文件渲染结果,效果如下图

本文来自云栖社区合作伙伴“开源中国”

本文作者:王练

原文链接

相关文章
|
2月前
|
敏捷开发 API
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
|
2月前
|
人工智能 自然语言处理 安全
从代码生成工具看技术手段升级
【2月更文挑战第7天】从代码生成工具看技术手段升级
|
2月前
|
前端开发 JavaScript 测试技术
自动化测试定位方式那么多,应该选哪个?
本文介绍了移动应用自动化测试中的定位策略,包括 ID、XPath、ClassName、AccessibilityID、Name、XPath 模糊定位、Android UI Automator、iOS Predicate 等。在Web测试中,使用class name、css selector、id等定位元素。选择定位器应遵循与研发约定、优先使用特定属性及组合定位的原则。当元素定位不到时,可能因定位信息错误、元素状态等问题,可通过调整策略、等待元素加载或使用JS操作解决。特殊控件如弹框、下拉框等,需采用特定方法如JS注入或send_keys()处理。
46 3
|
2月前
|
Arthas 监控 IDE
去哪儿网开源的一个对应用透明,无侵入的Java应用诊断工具
今天 V 哥给大家带来一款开源工具Bistoury,Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力。
|
2月前
|
存储 人工智能 安全
构建安全可靠的软件定制开发环境:关键步骤与最佳实践
随着信息技术的飞速发展,软件开发已经成为各行各业不可或缺的一部分。然而,随着软件应用的普及,安全问题也日益凸显。从个人隐私泄露到企业数据泄露,从网络攻击到恶意软件感染,这些安全问题不仅给用户带来损失,也给企业带来巨大的风险。因此,构建安全可靠的开发软件成为了保障用户数据安全
|
2月前
|
前端开发 JavaScript
ESCheck工具原理解析及增强实现(3)
完整demo3代码 如有一些边界情况也是在 catch err部分根据 message做一下过滤即可 比如下代码
|
2月前
|
JavaScript
ESCheck工具原理解析及增强实现(2)
精简实现的运行结果如下,完整源码见Github
|
2月前
|
JavaScript 小程序
ESCheck工具原理解析及增强实现(1)
前言 2022了,大家做的面向C端的产品(Web,小程序,其它跨端方案),涉及JS产物的还是避不开兼容性的话题(即使IE已官宣停止支持) 但就目前看来这个停止维护还是避免不了大家做开发还是要考虑兼容低端机,甚至IE11
|
存储 Rust 安全
《面向应用安全防护领域设计Wasm插件》赛题解析
2023云原生编程挑战赛2:面向应用安全防护领域设计 Wasm 插件 本赛题希望基于 WASM 实现 Higress 网关安全防护插件,开发者可以选择 Go/Rust/C++ 等多种语言,并从 IP 防护,WAF 规则防护,CC 防护等不同角度出发设计实现插件。
|
Swift iOS开发
SwiftLint 自动规范代码工具(下)
SwiftLint 自动规范代码工具(下)
551 0
SwiftLint 自动规范代码工具(下)

热门文章

最新文章