查看原文
其他

干掉 Swagger (丝袜哥),我用这个新工具!

康熙 终码一生 2022-09-22

「今日推荐」

看看人家,后端API接口写得,那叫一个优雅!

一次深夜优化 MySQL 亿级数据分页的奇妙经历!

字节面试:“为什么不建议在 MySQL 中使用 UTF-8?”


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


编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API文档将是前后端协作中一个不可或缺的沟通界面。既然不可避免,那就想办法弄个轮子吧。人生苦短,必须偷懒。

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


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

 

1

快速开始

 


要使得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了,你不需要再为额外编写和维护文档而烦恼。

 

2

功能特性



1、代码即文档

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

2、支持导出HTML

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

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

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

4、更多特性

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

 

3

简洁的文档



再好用的东西,如果没有文档说明,别人也无从入手。为了让大家尽快上手,JApiDocs准备了一份极简的文档说明,确保你在几分钟就能用上JApiDocs。花5分钟不到就能认识一个提高工作效率的工具,让你把更多的时间花在更加有价值的事情上,你确认不看一下吗?

相关文档:

仓库地址https://github.com/YeDaxia/JApiDocs
中文文档https://japidocs.agilestudio.cn/#/zh-cn/


 

END

 



最热门的文章


看看人家,后端API接口写得,那叫一个优雅!

2021-04-12

一次深夜优化 MySQL 亿级数据分页的奇妙经历!

2021-04-11

绝了!这款工具让 Spring Boot 不在需要 Controller、Service、DAO、Mapper 了

2021-04-10

推荐几款 IntelliJ IDEA 超级牛逼插件!让你开发速度飞起来!

2021-04-09

字节面试:“为什么不建议在 MySQL 中使用 UTF-8?”

2021-04-08


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存