JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。

编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文档将是前后端协作中一个不可或缺的沟通界面。

既然不可避免,那就想办法弄个轮子吧。人生苦短,必须偷懒。

无图无真相,生成文档的效果如下:

img

相比Swagger要写一堆注解,Spring RestDocs需要写测试用例,才能生成API文档。JApiDocs 具有无痛集成的特点,你只需花几分钟就能知道它怎么用了。

快速开始

要使得JApiDcos正确工作,你写的代码应该是像下面的样子的:

/** * 用户接口 */@RequestMapping("/api/user/")@RestControllerpublic class UserController {    /**     * 用户列表     * @param listForm     */    @RequestMapping(path = "list", method = {RequestMethod.GET,  RequestMethod.POST}  )    public ApiResult> list(UserListForm listForm){        return null;    }    /**     * 保存用户     * @param userForm     */    @PostMapping(path = "save")    public ApiResult saveUser(@RequestBody UserForm userForm){        return null;    }}

我们给Controller类和方法加上必要的注释,给接口方法返回相关的对象类型。是的,这样JApiDocs就能解析到相关的接口信息了,就跟我们平时写的代码是差不多的,但要注意,你要通过@param来告诉JApiDocs接口的参数,但在IDE的帮助下,这个工作将是轻松愉悦的:

img

然后你在任意一个main入口方法执行下面的代码就可以生成文档了:

DocsConfig config = new DocsConfig();config.setProjectPath("your springboot project path"); // 项目根目录config.setProjectName("ProjectName"); // 项目名称config.setApiVersion("V1.0");       // 声明该API的版本config.setDocsPath("your api docs path"); // 生成API 文档所在目录config.setAutoGenerate(Boolean.TRUE);  // 配置自动生成Docs.buildHtmlDocs(config); // 执行生成文档

接下来你只管好好写代码,生成Api文档的工作就可以交给JApiDocs了,你不需要再为额外编写和维护文档而烦恼。

功能特性

1、代码即文档

JApiDocs是通过直接解析SpringBoot的源码语法来工作的,所以只要Controller的语法符合一定的代码规范,有合理的注释,就可以直接导出文档。

2、支持导出HTML

便捷的导航和接口查看界面;可本地预览,或者部署到HTTP服务器。推荐部署到服务器,方便前后端展开协作。

3、同步导出客户端Model代码

支持导出Android端的 Java 和iOS端的 Object C Model代码,减少前端程序员的重复编码工作。

4、更多特性

支持接口搜索;支持不同版本和英文文档;自定义扩展等。

简洁的文档

再好用的东西,如果没有文档说明,别人也无从入手。为了让大家尽快上手,JApiDocs准备了一份极简的文档说明,确保你在几分钟就能用上JApiDocs。

花5分钟不到就能认识一个提高工作效率的工具,让你把更多的时间花在更加有价值的事情上,你确认不看一下吗?

仓库地址:https://github.com/YeDaxia/JApiDocs

中文文档:https://japidocs.agilestudio.cn/#/zh-cn/

往期精彩回顾

Spring Boot + Dataway :接口不用写,配配就出来?

扫码关注哦

springboot 中文文档_比Swagger还好用的自动生成接口文档工具相关推荐

  1. SpringBoot自动生成接口文档

    跟大家介绍一个自动生成接口文档的工具包,作者的理念是注释即文档,在写代码的时候写上注释,项目启动后就会生成接口文档,非常方便,省去了Swagger写注解的过程. 仓库地址:https://github ...

  2. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)

    阅读目录 一.Django中的缓存: 前戏: Django中的几种缓存方式: Django中的缓存应用: 二.跨域: 跨域知识介绍: CORS请求分类(简单请求和非简单请求) 示例: 三.自动生成接口 ...

  3. idea swagger生成接口文档_Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据...

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  4. Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)

    二.跨域: 回到顶部 跨域知识介绍: 点我以前博客 跨域解决方法:CORS:跨域资源共享 CORS请求分类(简单请求和非简单请求) 简单请求(simple request):只需要在头信息之中增加一个 ...

  5. 自动生成接口文档之JApiDocs教程

    JApiDocs教程 前言 作为一名优秀的程序员来说,由于涉及到要与前端进行对接,所以避免不了的就是写接口文档.写完接口文档,一旦代码返回结果,参数等出现变动,接口文档还得随之改动,十分麻烦,违背了我 ...

  6. DRF 自动生成接口文档

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  7. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

  8. java自动生成接口文档

    java自动生成接口文档 maven依赖 工具类 展示效果 首页 接口页 在平时的开发过程中必定要写接口文档 作为程序员 最烦的2件事 1.别人让你写接口文档 2.接手别人的项目没有接口文档 由此可见 ...

  9. Django DRF 自动生成接口文档

    文章目录 1. 引子 2. 自动生成接口文档 3. 文档描述说明的定义位置 1. 引子 前端请求的url由谁来写 url 主要有后台来写,写完给前端: 如果后台查询数据,需要借助查询条件才能查询前端需 ...

最新文章

  1. Qt中文手册 之 QTableWidgetItem
  2. C语言库函数大全及应用实例七
  3. oracle+事务开始+结束,Oracle事务和对象上集(视图、索引)
  4. 特征对齐的旋转目标检测:Align Deep Features for Oriented Object Detection
  5. boost::proto模块实现在外部指定转换的示例的测试程序
  6. [渝粤教育] 扬州工业职业技术学院 微言品语文 参考 资料
  7. Servlet基础(一)
  8. Java 并发编程之读写锁 ReentrantReadWriteLock
  9. 小米又给员工发福利了! 逾3亿港元457人分
  10. ToB销售的成交,需要客户对供应商有三个信任
  11. Golang包管理工具之govendor的使用
  12. android gradle NDK简介
  13. 没有与这些操作数匹配的运算符_【5min+】 这些C#的运算符您都认识吗?
  14. Property ‘validationMessageSource‘ threw exception
  15. 微信小程序(微信支付回调函数)
  16. 暴风集团入多个被执行人名单-千氪
  17. WebBrowser控件[Windows窗体]之介绍篇
  18. 【C++】.h文件与.c文件的区别
  19. java 抽取 word,pdf 的四种武器
  20. SSI通信C语言编程,SSI协议应用和编程.ppt

热门文章

  1. 用 python 解决汉诺塔问题并附带演示过程
  2. HTML-完美解决父子元素的外边距重叠和高度塌陷问题
  3. C# 在异步中使用HttpWebRequest出现的“正在终止线程”错误的解决方案
  4. chrome浏览器模拟手机端:jquery click()点击无效解决方法
  5. 在Android Studio中打开Android Device Monitor时报错的解决方法
  6. 关于系统弹出错误:429 , ActiveX 部件不能创建对象 的解决方法
  7. 如何获取Vim中所有已安装颜色方案的列表?
  8. 在DB中存储图像-是或否?
  9. Git checkout:更新路径与切换分支不兼容
  10. 如何从文件内容创建Java字符串?