首页 > 其他分享 >零侵入!试试这款Api接口文档生成器!

零侵入!试试这款Api接口文档生成器!

时间:2024-02-01 09:34:27浏览次数:36  
标签:doc 生成器 接口 生成 Api 文档 com smart

大家好,我是 Java陈序员

作为一名合格的程序员,不仅代码要写好,而且文档要写好。

虽然目前有成熟的框架可以快速生成接口文档,如大名鼎鼎的 Swagger.但是 Swagger 需要编写大量的注解来辅助生成文档,侵入了业务代码。不符合高内聚、低耦合的编程规范!

今天,给大家介绍一款零侵入的 Api 接口文档生成工具!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

smart-doc 是一款同时支持 JAVA REST API 和 Apache Dubbo RPC 接口文档生成的工具。完全基于注释生成文档,做到零侵入。

smart-doc 最大的优点就在于零侵入,不采用任何注解侵入到业务代码中

只需要按照 java-doc 标准编写注释,smart-doc 就能帮你生成一个简易明了的文档。

smart-doc 生成的文档支持 Markdown、Postman Collection2.0+、HTML5、OpenAPI 3.0+.

功能特性

此外,smart-doc 还支持自动推送文档到 Torna 企业级接口文档管理平台。

快速开始

1、新建 JSON 配置文件

在项目启动类所在模块的 resources 目录下创建 smart-doc.json 文件:

{
    "outPath": "/path/to/userdir"
}

outPath 指定文档输出的目录位置,也可以使用相对路径, 如: ./src/main/resources/static/doc

2、引入 Maven 插件依赖

<plugin>
    <groupId>com.ly.smart-doc</groupId>
    <artifactId>smart-doc-maven-plugin</artifactId>
    <version>[最新版本]</version>
    <configuration> 
        <configFile>./src/main/resources/smart-doc.json</configFile>  
        <projectName>${project.description}</projectName>  
        <includes>  
            <!-- 使用了mybatis-plus的Page分页需要include所使用的源码包 -->
            <include>com.baomidou:mybatis-plus-extension</include>
            <!-- 使用了mybatis-plus的IPage分页需要include mybatis-plus-core-->
            <include>com.baomidou:mybatis-plus-core</include>
            <!-- 使用了jpa的分页需要include所使用的源码包 -->
            <include>org.springframework.data:spring-data-commons</include>             
        </includes> 
    </configuration>
    <executions>
        <execution>
            <!--如果不需要在执行编译时启动smart-doc,则将phase注释掉-->
            <phase>compile</phase>
            <goals>
                <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->
                <goal>html</goal>
            </goals>
        </execution>
    </executions>
</plugin>

如果是 Gradle 项目,同样的也需要引入插件:

plugins {
  id "com.ly.smart-doc" version "[最新版本]"
}

Gradle 项目完整配置可参考:

https://smart-doc-group.github.io/#/zh-cn/plugins/gradle

3、使用

在 IDEA 中直接使用 Maven 插件目录下的 smart-doc 模块

smart-doc 模块

或者使用如下命令输出接口文档:

mvn -Dfile.encoding=UTF-8 smart-doc:html
mvn -Dfile.encoding=UTF-8 smart-doc:markdown
mvn -Dfile.encoding=UTF-8 smart-doc:torna-rest

成功输出

总结

不管是新项目,还是老项目,smart-doc 都完美适用。对于新项目不需要再引入其他框架和编写代码;老项目只要完善 java-doc 标准的注释,就可以快速生成接口文档,完全不影响到业务代码!

下次如果要编写接口接口文档,可以试试使用 smart-doc 一键生成~

当然了,smart-doc 也存在缺点,就是文档不是在线的,不利于分享

针对于这一点,也有对应的解决方案,就是与企业级别的接口文档管理系统 Torna 结合。

最后,贴上项目地址:

https://github.com/TongchengOpenSource/smart-doc

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

标签:doc,生成器,接口,生成,Api,文档,com,smart
From: https://www.cnblogs.com/codechen8848/p/18000539

相关文章

  • [word] word自动将更改后的内容保存到通用文档模板的解决办法
    word自动将更改后的内容保存到通用文档模板的解决办法打开word时出现“word自动将更改后的内容保存到通用文档模板上。是否加载该模板?”这里直接讲解word2007出现这种问题如何快速解决。方法/步骤点击office按钮-再点击Word选项(弹出的对话框右下角)点击加载项,选则COM加载项->转到由......
  • API管理协作工具:Apipost
    相信无论是前端,还是后端的测试和开发人员,都遇到过这样的困难。不同工具之间数据一致性非常困难、低效。多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。API管理的难点在哪?开发人员在Swagger定义好文档后,接口调试的时候还需要去Postman再定义一遍。前端......
  • API管理协作工具:Apipost
    相信无论是前端,还是后端的测试和开发人员,都遇到过这样的困难。不同工具之间数据一致性非常困难、低效。多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。API管理的难点在哪?开发人员在Swagger定义好文档后,接口调试的时候还需要去Postman再定义一遍。前......
  • mybatis的代码生成器generate的使用
    三步1、打开idea的插件管理,添加mybatisPlus 2、连接数据库  3、找到对应的表  下面红色圈内的内容需要注意,比如module是你想把代码生成在哪个模块,其次是package就是想在哪个目录下,然后就是主键自增方式和生成的哪些类。之后就看下生成的类是否有问题即可,一般是......
  • ChatGPT API调用python和脚本实现
    ChatGPT由于其独特、近乎准确且类似人类的响应,如今在互联网上引起了过多的讨论。本文讨论如何通过Python代码连接到ChatGPTAPI。 第1步:获取OpenAIAPI的API密钥要获取OpenAIAPI的API密钥,您需要在OpenAI网站上注册一个OpenAI帐户。拥有帐户后,您可以按......
  • 记录: OpenAI中转代理API接口服务的使用
    由于OpenAI提供服务的地区列表里没有China,因此想要方便使用OpenAIAPI的话就需要用到中转服务。本文介绍的iDataRiver平台便提供这样的API,且比官方OpenAI还要便宜,其文档地址入口为https://docs.idatariver.com/zh支持模型如何统计消费的token量token是大语言模型处理信息......
  • golang gin框架搭建restapi
    初学golang,尝试用gin框架搭建restapi一)源码准备创建go.mod文件,相当于nodejs中的package.jsongomodinitexamples/web-service-gin新建文件main.go,加入以下代码packagemainimport( "net/http" "github.com/gin-gonic/gin")//albumrepresentsdataaboutarecor......
  • 文档规范
    1.简介*介绍基础服务组件的作用和意义。*概述组件的主要功能和特点。2.组件架构*描述基础服务组件的整体架构和模块组成。*说明各个模块之间的关系和交互方式。3.主要功能*列举基础服务组件提供的主要功能和服务。*详细说明每个功能的作用和使用场景。4.使用......
  • [word] Word文档如何设置多级标题
    我们在日常办公的时候,经常会给Word文档设置多级标题,但是一个一个的去设置又麻烦又浪费时间,今天给大家讲一下,Word文档如何设置多级标题。首先看到下方这些标题,是没有任何格式的:我们将光标放置第一个标题位置:然后点击标题一:同样,将光标放置第二个标题位置,然后点击标题二:依此类推,全部设......
  • [word] word中如何关闭正在修订的文档
    打开一个正在修订状态的文档,点击“审阅”点击“修订”下方的倒三角箭头在下拉框中关闭“修订”按钮即可......