还在用丝袜哥(Swagger)做API文档?快来看看这款帮你减少百分之九十工作量的开源工具!

简介: 相信不少的小伙伴都会在日常工作中写API文档,确实这个文档很有必要去写,便于项目的维护,在我们提桶的时候,接盘侠可以轻松地接管我们的项目。说起API文档,我们脑海中想到的就是肯定是Swagger,他以前确实统治了江湖很久,因为他的确很方便,也很智能,但是吧,你写多了总感觉哪里不对劲,是的,他的代码侵入性太强,而且要写大量重复的注释,那我最近在写的一个项目来说,简直是程序员的梦魇。

提一嘴Swagger


   相信不少的小伙伴都会在日常工作中写API文档,确实这个文档很有必要去写,便于项目的维护,在我们提桶的时候,接盘侠可以轻松地接管我们的项目。说起API文档,我们脑海中想到的就是肯定是Swagger,他以前确实统治了江湖很久,因为他的确很方便,也很智能,但是吧,你写多了总感觉哪里不对劲,是的,他的代码侵入性太强,而且要写大量重复的注释,那我最近在写的一个项目来说,简直是程序员的梦魇。


1.JPG  


这只是一个实体类的一部分,还有service、controller的这些注解我就不一一列举了,侵入性太强,注释繁多,而且你在编译以后还是存在于代码中不会被擦除。     于是乎,我有一次在写代码(摸鱼)的时候,偶然发现一个Gitee上的高赞API文档,链接:smart-doc2.JPG


主角smart-doc


   smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,划重点了,他还支持Dubbo RPC接口文档,遥想当年,Swagger要想支持Dubbo的话必须要自己修改和拓展,官方是不支持的。于是我就照着官方文档给的案例,去部署生成了一下API文档,真香!


新建smart-doc.json


   我们需要新建一个smart-doc.json来写一些配置,我这里也给出一份模板,有需要的铁汁们直接cv改改即可。


{
  //服务器地址
  "serverUrl": "http://127.0.0.1",
  //是否用严格模式,严格模式强制检查注释
  "isStrict": false,
  //所有接口文档合并生成到一个文档
  "allInOne": true,
  //文档的输出路径
  "outPath": "src/main/resources/static/doc",
  //指定项目名称,用于显示在文档中
  "projectName": "test-smart-doc"
}
复制代码


引入依赖


<plugin>
        <groupId>com.github.shalousun</groupId>
        <artifactId>smart-doc-maven-plugin</artifactId>
        <version>2.2.2</version>
        <configuration>
          <!--指定生成文档使用的配置文件-->
          <configFile>./src/main/resources/smart-doc.json</configFile>
        </configuration>
        <executions>
          <execution>
            <!--不需要在编译项目时自动生成文档可注释phase-->
            <phase>compile</phase>
            <goals>
              <goal>html</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
复制代码


测试


3.JPG    

双击smart-doc即可生成java普通(为了区别于Dubbo)的文档,他的UI界面也不丑,大致长这样。


1.JPG  

我们几乎没有写任何注释代码,就自动生成了一个API文档,没有任何侵入性。


smart-doc强在哪?


   smart-doc对比传统一哥Swagger究竟有什么不同?


  1. smart-doc主要是基于源代码和JAVADOC标注注释来生成文档,是在开发期或者是项目的编译期执行生成文档,意味着你是在项目编译完以后你在源码里面是找不到smart-doc的任何依赖的,0侵入性。
  2. swagger主要原理是利用JAVA的注解和反射机制去生成文档,这种方式侵入性太强。

 

这也就是为什么我刚刚什么注解都没写,但是依然可以生成合格的API文档,于是乎我马上把Swagger换成了smart-doc,只能说真香,再也不用写@ApiModel这种注解了。



相关文章
|
19天前
|
敏捷开发 测试技术 API
云效产品使用常见问题之代码仓库不支持API文档如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
3月前
|
分布式计算 API Linux
通义千问API:找出两篇文章的不同
本章我们将介绍如何利用大模型开发一个文档比对小工具,我们将用这个工具来给互联网上两篇内容相近但版本不同的文档找找茬,并且我们提供了一种批处理文档比对的方案
|
3天前
|
测试技术 API 开发工具
📑教你如何编写一份 API 文档
API 文档是开发者理解和使用API的关键,它提供详细的说明、代码示例和调用过程,帮助创建无缝集成。好的API文档能提升开发人员体验,减少上手时间和维护成本,同时促进产品迭代。API有面向团队、合作伙伴和最终用户三种类型。编写文档时要考虑受众,提供清晰的概述、教程、认证信息、端点定义、状态码和错误码示例。维护更新与API同步的文档至关重要,遵循通俗语言、参考文档、示例和专人负责等最佳实践,确保全面性。GitHub、Twilio和Dropbox的API文档是良好示例。
|
14天前
|
前端开发 Java 测试技术
IDEA 版 API 接口神器来了,一键生成文档,贼香!
IDEA 版 API 接口神器来了,一键生成文档,贼香!
38 0
|
29天前
|
API 监控 开发者
淘宝评论数据API接口:洞察消费者声音的关键工具
随着全球电商的快速发展,速卖通(AliExpress)作为知名的跨境电商平台,为卖家提供了广阔的销售渠道。为了更好地满足卖家的需求,速卖通提供了丰富的API接口,使卖家能够自动化、高效地管理商品、订单和用户数据。本文将围绕速卖通AliExpress API接口开发系列展开探讨,帮助卖家更好地理解和应用这些接口。
|
1月前
|
监控 测试技术 API
api管理工具的新发现
该内容介绍了两款强大的API管理工具——Apifox和Eolink。Apifox集成了Postman、Swagger、Mock和JMeter的功能,提供一体化的API协作平台,提高开发、测试效率。Eolink则包括API设计、自动化测试和团队协作的apikit,以及集成第三方API的apispace。两者都提供便捷的官网和丰富的资源,值得一试。
30 0
|
2月前
|
前端开发 IDE Java
比Swagger更好用的工具
比Swagger更好用的工具
38 2
比Swagger更好用的工具
|
2月前
|
API 开发者
1688阿里巴巴中国站平台 API接口获取商品详情 接入文档说明
1688(阿里巴巴批发网)的API接入文档是专为开发者提供的,用于指导如何集成和使用1688平台提供的API接口。这些API接口可以帮助开发者实现各种功能,如商品搜索、订单管理、用户认证等。
|
2月前
|
JSON 缓存 API
淘宝天猫获取sku详细信息 API 调用文档 及请求代码
淘宝天猫获取SKU详细信息的API调用通常涉及到商品信息的API接口。在淘宝开放平台或天猫开放平台上,你可以找到相关的API文档和调用示例。下面是一个简化的步骤和示例代码来展示如何调用这些API: