被写接口文档难受了好久,突然看到JApiDocs 的介绍,突然来了希望,通过看文档自己使用之后,把踩过的坑记录下来
目录
生成的接口文档页面展示:
官方说明文档:
快速使用
导包
添加注释
踩过的坑
1、官方文档明确说明对所有的controller都要介绍描述注解
这是因为后台接口代码返回的是BaseResult,没有加上泛型
解决方法:修改baseResult,修改泛型就ok了
3、关于参数是否必填坑
总结
JApiDocs 生成父子菜单结构
(示例路径http://oss.agilestudio.cn/apidocs/V2.0/controller_BookController.html#getBookDetail)
https://japidocs.agilestudio.cn/#/zh-cn/?id=apidoc
io.github.yedaxia
japidocs
1.3
执行main函数:(项目根目录是绝对路径)
public class ProductDoc {
public static void main(String[] args) {
DocsConfig config = new DocsConfig();
config.setProjectPath("D:\\xxxx\\src\\main\\java\\com"); // 项目根目录
config.setProjectName("push_robot_server"); // 项目名称
config.setApiVersion("V1.0"); // 声明该API的版本
config.setDocsPath("D:\\doc"); // 生成API 文档所在目录
config.setAutoGenerate(Boolean.TRUE); // 配置自动生成
config.setCodeTplPath("classpath:doc/api-controller.html.ftl");
Docs.buildHtmlDocs(config); // 执行生成文档
}
}
我开始使用的时候,因为 有几十个controller,所有有几个方法没有加上说明,然后一直报错,我被这个错整懵逼了几个小时,甚至查看了源码,好不容易才明白是少加了注解
信息: info: success to generate docs for controller file : D:\Fj-code\pushing_robot_server\src\main\java\com\fj\controller\app\AppTaskController.java
FreeMarker template error:
The following has evaluated to null or missing:
==> reqNode.description [in template "api-index.html.ftl" at line 53, column 35]
但是如果根据这个报错,是很难明白到底是哪里少添加了注释的,这个时候,我们查看生成的index.html,用编辑器打开,找到报错的地方,很容易就能够定位少加了注释的是哪个controller
2、生成的接口文档并没有对实体的注释,如下图
而官方文档上面是有实体注释的
@GetMapping(value = "/getCustomerByPage")
public BaseResult getCustomerByPage
@GetMapping(value = "/getCustomerByPage")
public BaseResult getCustomerByPage
如果是必填参数,加上@RequestParam就可以了
@GetMapping(value = "/getCustomerByPage")
public BaseResult getCustomerByPage(@RequestParam Integer pageNum,
源码地址:https://github.com/YeDaxia/JApiDocs
官网地址:https://japidocs.agilestudio.cn/#/zh-cn/?id=apidoc
https://blog.csdn.net/qq_22701869/article/details/106949085