再见Swagger!推荐一款无侵入生成接口文档

大家好,我是家兴!
一位耿直的,不够圆滑的,二流的程序员!

smart-doc是什么?

smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,零注解、零学习成本、只需要写标准JAVA注释,smart-doc就能帮你生成一个简易明了的Markdown、HTML5、Postman Collection2.0+、OpenAPI 3.0+的文档。

smart-doc怎么用?


1、Add Maven Plugin
<plugin>    <groupId>com.github.shalousun</groupId>    <artifactId>smart-doc-maven-plugin</artifactId>    <version>2.2.4.1</version>    <configuration>        <!--指定生成文档的使用的配置文件,配置文件放在自己的项目中-->        <configFile>./src/main/resources/smart-doc.json</configFile>        <!--指定项目名称-->        <projectName>测试</projectName>        <!--smart-doc实现自动分析依赖树加载第三方依赖的源码,如果一些框架依赖库加载不到导致报错,这时请使用excludes排除掉-->        <excludes>            <!--格式为:groupId:artifactId;参考如下-->            <exclude>com.alibaba:fastjson</exclude>        </excludes>        <!--自1.0.8版本开始,插件提供includes支持,配置了includes后插件会按照用户配置加载而不是自动加载,因此使用时需要注意-->        <!--smart-doc能自动分析依赖树加载所有依赖源码,原则上会影响文档构建效率,因此你可以使用includes来让插件加载你配置的组件-->        <includes>            <!--格式为:groupId:artifactId;参考如下-->            <!--也可以支持正则式如:com.alibaba:.* -->            <include>com.alibaba:fastjson</include>        </includes>    </configuration>    <executions>      <execution>        <goals>            <!--smart-doc提供了html、openapi、markdown等goal,可按需配置-->                <goal>html</goal>            </goals>        </execution>    </executions>  </plugin>

   

2、在项目目录下添加 smart-doc.json 配置文件,常用配置如下
{  "serverUrl": "http://localhost:8080", //服务器地址,非必须。导出postman建议设置成http://{{server}}方便直接在postman直接设置环境变量  "allInOne": true,  //是否将文档合并到一个文件中,一般推荐为true  "outPath": "src/main/resources/static/doc", //指定文档的输出路径  "coverOld": true,  //是否覆盖旧的文件,主要用于mardown文件覆盖  "createDebugPage": true,//@since 2.0.0 smart-doc支持创建可以测试的html页面,仅在AllInOne模式中起作用。  "projectName": "smart-doc",//配置自己的项目名称  "sortByTitle":false,//接口标题排序,默认为false,@since 1.8.7版本开始  "showAuthor":true,//是否显示接口作者名称,默认是true,不想显示可关闭  "allInOneDocFileName":"index.html"//自定义设置输出文档名称, @since 1.9.0}

3、在对应的接口、实体类中添加上标准JAVA注释

 /**   * 根据用户id获取用户   * @param id   * @return   */  @GetMapping("user/{id}")  public R<User> getUser(@PathVariable Integer id){      User user = new User();      user.setId(id);      user.setUsername("王大福");      return R.ok(user);  }

   

4、利用maven插件,生成接口文档

1.1 在idea中,可以直接通过maven helper中Plugins,smart-doc插件中生成对应的文档


1.2 maven命令方式

//生成htmlmvn -Dfile.encoding=UTF-8 smart-doc:html//生成adocmvn -Dfile.encoding=UTF-8 smart-doc:adoc

   

smart-doc效果示例

html全局展示


请求参数示例


请求响应示例


开源地址:https://gitee.com/smart-doc-team/smart-doc


持续与坚持。关注、分享、点赞、看一看。谢谢您的四连击!!!!


相关推荐

  • 服务器性能监控,就靠它了!
  • Java 集合 Stream 流操作的基本使用教程
  • 精确控制 AI 图像生成的破冰方案,ControlNet 和 T2I-Adapter
  • 学透Spring,一次就够了
  • EXPLAIN进行索引分析和优化
  • 迷倒李冰冰,火遍全国!“顶级男神”自爆重病,无法治愈:余生,我会好好爱自己
  • 快手是如何利用Bandits算法,助力业务提升数十倍的?
  • 旅美20年后,“顶级女巨星”现状曝光!与粪便同住,全网震惊:求求了,放过她吧
  • MySQL的索引实现原理
  • 开源版GPT-3来了?Meta发布LLaMa,多数任务效果超越GPT-3,已开源
  • 我把跨境电商当副业,两年全款买了房:2023年这个风口赚钱,90%的人不知道
  • 走访中国最偏远地级市,闻到都是钱味
  • 中年以后,请过低温的生活
  • Spring Cloud 与响应式微服务
  • Linux 6.2 正式发布:首次原生支持苹果 M1 芯片
  • 为什么研发管理必须要数字化?| 极客时间企业版
  • 被Gartner列为“2023年十大战略技术趋势”,爆火的可观测如何正确落地?
  • 10万字Linux常用命令总结,果断收藏!
  • 大公司为什么禁止在SpringBoot项目中使用@Autowired注解?
  • 阿里高级专家:我对技术架构的理解