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

简易使用方法

1.添加依赖
<dependency><groupId>io.github.yedaxia</groupId><artifactId>japidocs</artifactId><version>1.4.3</version>
</dependency>
2. 参数配置

在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);  // 配置自动生成
config.addPlugin(new MarkdownDocPlugin());
Docs.buildHtmlDocs(config); // 执行生成文档
3.执行main函数,查看文档

我自己的代码

//类1
@Data
public class UserVO {private Integer age;    //用户年龄private String  name;   //姓名
}//类2
/*** 测试APIdoc*/
@RestController
@RequestMapping(value = "testapi")
public class TestController {/*** GET测试*/@GetMapping(value = "testGET")public UserVO testGET(){UserVO userVO = new UserVO();userVO.setAge(12);userVO.setName("小明");return  userVO;}/*** POST测试* @param userinfo*/@PostMapping(value = "testPOST")public String testPOST(@RequestBody UserVO userinfo){return "post";}/*** 测试POST没有注解* @param param* @return*/@PostMapping(value = "testPOSTNO", produces = "application/json")public int testPOSTnoAno(String param){return 3;}public void test(){System.out.println("000000");}
}//main函数public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);DocsConfig config = new DocsConfig();config.setProjectPath("D:\\ProgramSoft\\IDEA\\java_project\\apidoc"); // 项目根目录config.setProjectName("demo"); // 项目名称config.setApiVersion("V1.0");       // 声明该API的版本config.setDocsPath("D:\\ProgramSoft\\IDEA\\java_project\\apidoc"); // 生成API 文档所在目录config.addPlugin(new MarkdownDocPlugin());config.setAutoGenerate(Boolean.TRUE);  // 配置自动生成Docs.buildHtmlDocs(config); // 执行生成文档}

结果展示:

1. 分组名称 @description

建议不用这个

2. 接口参数@param

JApiDocs 会通过 @param 来寻找接口参数和进一步解析参数的内容

注:注释一定要放在@注解的上面,否则参数会不显示

/*** @description 保存用户* @param docId  医生id*/
@PostMapping("advice")
public RoleInfo getAdviceList(String docId){return roleService.FindRoleBydocId(docId);
}

3.高级配置

(1)@ApiDoc
a.实现
JApiDocs 默认只导出声明了@ApiDoc的接口,我们前面通过设置config.setAutoGenerate(Boolean.TRUE) 来解除了这个限制。如果你不希望把所有的接口都导出,你可以把autoGenerate设置关闭,在相关Controller类或者接口方法上通过添加@ApiDoc来确定哪些接口需要导出。

b.其他设置
result: 这个可以直接声明返回的对象类型,如果你声明了,将会覆盖SpringBoot的返回对象
stringResult:返回字符串,在返回结果比较简单,而不想创建一个专门的返回类,则可以考虑使用这个属性。
url: 请求URL,扩展字段,用于支持非SpringBoot项目
method: 请求方法,扩展字段,用于支持非SpringBoot项目

例:

@ApiDoc(result = AdminVO.class, url = "/api/v1/admin/login2", method = "post")
stringResult 实例,在文档中将会自动格式化json字符串:
@ApiDoc(stringResult = "{code: 0, data: 'success'}")
@GetMapping(value = "custom-json")
public Map customJsonResult(){}

(2)@Ignore (忽略Controller,接口,字段)
例:忽略Controller

@Ignore
public class UserController {
}

4.如何排查错误?

关闭自动生成config.setAutoGenerate(Boolean.FALSE),使用@ApiDoc 来一个个接口导出排查问题。

在IDEA下正常写代码,注释好方法即可.

当然,以上是简易版的,如果想控制更详细参数,建议读一下中文介绍,也不多
中文介绍

参考其他文章

在此对作者表示感谢,方便了整理文档

springboot 之 自动生成接口文档工具JApiDocs相关推荐

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

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

  2. springboot 中文文档_比Swagger还好用的自动生成接口文档工具

    JApiDocs是一个无需额外注解.开箱即用的SpringBoot接口文档生成工具. 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后 ...

  3. SpringBoot自动生成接口文档

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

  4. java自动生成接口文档

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

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

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

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

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

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

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

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

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

  9. DRF 自动生成接口文档

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

最新文章

  1. Java项目:健身器材商城系统(java+Jdbc+Servlet+Ajax+Fileupload+mysql)
  2. 数据结构与算法(十二):八大经典排序算法再回顾
  3. flask-wtforms
  4. C语言试题二之计算并输出下列多项式值s=1+1/(1+2)+1/(1+2+3)+..1/(1+2+3…+50)
  5. [Redux/Mobx] 在Redux中怎么发起网络请求?
  6. 控制台应用程序换换为窗体应用_Epic为开发者设计了一套iPhone使用的运动捕捉应用程序...
  7. 关于Request.ServerVariables(HTTP_REFERER)
  8. 算法-字符串 循环左移
  9. shell 编程基础
  10. 金山安全联手方正科技 为用户提供最佳互联网安全环境
  11. matlab三维三角网格,有限元分析利用matlab的gplot函数实现三维划分网格的方法
  12. 基于Modbus/TCP的西门子1200PLC和STM32通信
  13. html插入cad,cad插件有哪些
  14. 招聘-中软国际外派中国移动(广州)
  15. php 专业英语,给大家推荐几个专业英语翻译功能强大的网站
  16. 工具推荐:用VS code 导出、导入和运行Excel中的VBA代码
  17. 如何使用TensorRT加速深度学习推理
  18. do{...}while(false)的用法
  19. 川普哭诉“推特狂掉粉”,将用行政命令监管硅谷?
  20. java毕业设计——基于java+JSP+sqlserver的智能在线考试信息管理系统设计与实现(毕业论文+程序源码)——智能在线考试信息管理系统

热门文章

  1. 377万考研人,究竟养活了多少产业?
  2. 冲压模具丨你也是在做车架类模具设计么?注意事项来了
  3. Docker系列 搭建自动备份服务duplicati
  4. [激光原理与应用-20]:《激光原理与技术》-6- 激光产生技术 - 谐振腔的结构、作用、工作原理
  5. 知识梳理,HTML5智能表单
  6. 贪心 135. 分发糖果
  7. java-鸡生蛋?蛋生鸡?
  8. 毕业设计做个3D赛车游戏
  9. 微信硬件平台的基础接入和硬件云标准接入分析
  10. exchange怎么改签名_如何在Microsoft Exchange上分析电子邮件签名和免责声明中的链接点击