作者:小鱼儿511

https://blog.csdn.net/dongbeiou/article/details/106771453

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

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

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

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

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

快速开始

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

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

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

然后你在任意一个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/

福利时间

GIFT TIME

一月一度的送书环节又来了

感谢大家一直以来的陪伴与支持

今天给大家赠送10本书

北京大学出版社赞助

也欢迎大家自行购买

Java并发编程技术体系化讲解,BAT级别高并发项目深度剖析,领略大咖的实战代码设计艺术。

本次送书不需要评论,也不需要转发

采用最公平的抽奖方式。

关注公众号:程序员面试现场

公众号后台回复:送书

即可参与抽奖

往期推荐

想理解Java的IO,不要从操作系统开始说起的都是耍流氓...

阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!

性能优越的轻量级日志收集工具,微软、亚马逊都在用!

本文由“壹伴编辑器”提供技术支

直面Java第329期:哪个命令可以监控虚拟机各种运行状态信息?

深入并发第013期:拓展synchronized——锁优化

如果你喜欢本文,

请长按二维码,关注 Hollis.

转发至朋友圈,是对我最大的支持。

点个 在看 

喜欢是一种感觉

在看是一种支持

↘↘↘

还在用 Swagger(丝袜哥)生成接口文档?我推荐你试试它。。。相关推荐

  1. 实体类 接口_spring-boot-route(五)整合Swagger生成接口文档

    目前,大多数公司都采用了前后端分离的开发模式,为了解决前后端人员的沟通问题,后端人员在开发接口的时候会选择使用swagger2来生成对应的接口文档,swagger2提供了强大的页面调试功能,这样可以有 ...

  2. [Golang梦工厂]一个小项目带你学会GIN框架、JWT鉴权、swagger生成接口文档,看这一篇就够了

    前言 哈喽,大家好,我是asong,这是我的第八篇原创文章.听说你们还不会jwt.swagger,所以我带来一个入门级别的小项目.实现用户登陆.修改密码的操作.使用GIN(后台回复Golang梦工厂: ...

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

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

  4. Swagger的生成接口文档

    Swagger的生成接口文档 一.背景 前后端之间约定好使用Restful风格的API进行数据通信,此时如果我们能够提供一份清晰明了的接口文档,能够极大的提高效率,既满足我们输出文档的需要又能随代码的 ...

  5. 通过Swagger快速生成接口文档

    1.添加依赖: 在pom中添加swagger的依赖,这里使用的swagger版本为2.7.0,springboot相应版本为2.0.3,jdk1.8 示例如下: <swagger.version ...

  6. 【转】Postman 生成接口文档

    引言 几个朋友想做一个前后端分离的项目,接口文档的重要性那是不言而喻的.生成接口文档的方法真的太多了,Yapi.Swagger等等.但是想公网上访问接口文档并修改的话,还得购买服务器,部署上去.穷码农 ...

  7. SpringBoot 如何生成接口文档,老鸟们都这么玩的!

    为什么要用Swagger ? " 作为一名程序员,我们最讨厌两件事:1. 别人不写注释.2. 自己写注释. 而作为一名接口开发者,我们同样讨厌两件事:1. 别人不写接口文档,文档不及时更新. ...

  8. SpringBoot 整合Smart-doc生成接口文档

    之前我在SpringBoot老鸟系列中专门花了大量的篇幅详细介绍如何集成Swagger,以及如何对Swagger进行扩展让其支持接口参数分组功能.详情可见:SpringBoot 如何生成接口文档,老鸟 ...

  9. Go 项目自动生成接口文档

    CSDN 中文章不一定能及时更新,欢迎关注我的博客查看最新版本:许盛的博客 背景 如何让后端同学愉快地写接口文档,是个老大难问题. 使用 GraphQL 当接口标准,倒是省了接口文档的问题,连前端代码 ...

  10. drf 安装_drf 生成接口文档

    REST framework可以自动帮助我们生成接口文档.接口文档以网页的方式呈现. 自动接口文档能生成的是继承自APIView及其子类的视图. 一.安装依赖 REST framewrok生成接口文档 ...

最新文章

  1. 来,锁个痛快(6)—— 与lock相关的视图和简单实验
  2. 双系统装完只能u盘启动_苹果电脑安装双系统,切换MacOx系统和Windows系统!
  3. 厉害了,淘宝千万并发,14 次架构演进…
  4. JavaScript基础笔记
  5. [NHibernate]获取分组查询的记录总数
  6. 深度学习(八)caffe源码学习-未完待续
  7. jsp 中select 下拉选择框 el 三元运算符 如何选中与不选中
  8. Linux RTC驱动模型分析之rtc-sysfs.c
  9. Excel 中VBA脚本的简单应用
  10. 小米笔记本Air 13.3 指纹版安装黑苹果 macOS High Sierra 10.13 教程
  11. 0x800700b7 linux,0x800700b7解决方法
  12. C#圆通订单创建接口测试类
  13. 【推荐】网络安全学习路线和资料分享
  14. java 企业付款到零钱 微信提现功能讲解
  15. (python)bing搜索引擎API接入测试
  16. beacon帧主要结构
  17. 虚拟服务器存储扩容方法,虚拟化数据中心存储扩容方案
  18. xshell免费版下载教程
  19. 机器学习之LSI:文本主题模型之潜在语义分析(LSI)
  20. Kotlin版 极简 干货集中营 APP

热门文章

  1. python中的参数函数_python中函数与参数的简介
  2. 大学计算机学生成绩综合管理系统,大学综合测评成绩管理系统的研究 计算机专业毕业论文.doc...
  3. 【算法刷题2】二叉树的后序遍历
  4. 4-3:TCP协议之UDP协议
  5. DUMP文件分析4:栈溢出
  6. CORS跨域漏洞的学习(防止CSRF漏洞导致的漏洞)
  7. Linux下的用户、组和权限的详细解释
  8. 线性表:链栈算法实现
  9. LeetCode 20. Valid Parentheses(c++)
  10. 四则运算系统:分析和设计