还在用丝袜哥(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这种注解了。



相关文章
|
1月前
|
API 数据库 决策智能
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 智能工具调用决策的智能体
本文介绍了一种基于阿里云百炼平台的`qwen-max` API构建的智能体方案,该方案集成了检索增强、图谱增强及智能工具调用决策三大模块,旨在通过结合外部数据源、知识图谱和自动化决策提高智能回答的准确性和丰富度。通过具体代码示例展示了如何实现这些功能,最终形成一个能灵活应对多种查询需求的智能系统。
175 11
|
1月前
|
自然语言处理 NoSQL API
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
183 5
|
12天前
|
人工智能 前端开发 API
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
Gemini Coder 是一款基于 Google Gemini API 的 AI 应用生成工具,支持通过文本描述快速生成代码,并提供实时代码编辑和预览功能,简化开发流程。
94 38
Gemini Coder:基于 Google Gemini API 的开源 Web 应用生成工具,支持实时编辑和预览
|
3月前
|
API
阿里云短信服务文档与实际API不符
阿里云短信服务文档与实际API不符
|
18天前
|
人工智能 JSON 安全
DeepSeek Engineer:集成 DeepSeek API 的开源 AI 编程助手,支持文件读取、编辑并生成结构化响应
DeepSeek Engineer 是一款开源AI编程助手,通过命令行界面处理用户对话并生成结构化JSON,支持文件操作和代码生成。
198 5
DeepSeek Engineer:集成 DeepSeek API 的开源 AI 编程助手,支持文件读取、编辑并生成结构化响应
|
5天前
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
29 14
|
28天前
|
存储 人工智能 API
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
AgentScope是阿里巴巴集团开源的多智能体开发平台,旨在帮助开发者轻松构建和部署多智能体应用。该平台提供分布式支持,内置多种模型API和本地模型部署选项,支持多模态数据处理。
213 4
AgentScope:阿里开源多智能体低代码开发平台,支持一键导出源码、多种模型API和本地模型部署
|
5天前
|
API 开发者
通义灵码 API 开发文档自动生成场景DEMO
通义灵码API开发文档自动生成场景DEMO展示了通过自定义指令,大模型能快速根据类代码生成Markdown格式的API文档。文档详细描述API的入参、出参,并可生成测试代码等示例,帮助开发者快速创建美观的API文档。
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
69 4
|
2月前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####

热门文章

最新文章