一、概念

JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具。最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs 会帮你导出一份漂亮的 Html 文档,并生成相关的 Java 和 Object-C 相关数据模型代码,从此,Android 和 IOS 的同学可以少敲很多代码了,你也不需要费力维护接口文档的变化,只需要维护好你的代码就可以了。

二、特性

  1. 以一个 Controller 作为一组接口导出到一个 Html 文件中。
  2. 支持生成 Java 和 Object-C 语言的 Response 模型代码。
  3. 深度支持 Spring Boot, PlayFramework,JFinal,不需要额外声明路由。
  4. 支持一般的 Java Web 工程,需要在相关方法添加额外的路由。
  5. 支持接口声明过时(@Deprecated),方便的文档目录等。
  6. 支持自定义代码生成模板。
  7. 支持集成发布到 RAP。
  8. :new: 支持多模块、泛型。

三、搭建

参考网址: https://japidocs.agilestudio.cn/#/zh-cn/

第一步:添加依赖

maven:

<dependency><groupId>io.github.yedaxia</groupId><artifactId>japidocs</artifactId><version>1.4.2</version>
</dependency>

gradle:

compile 'io.github.yedaxia:japidocs:1.4.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);  // 配置自动生成
Docs.buildHtmlDocs(config); // 执行生成文档

我的配置

package com.kero99.utils;
import io.github.yedaxia.apidocs.Docs;
import io.github.yedaxia.apidocs.DocsConfig;
/*** 接口文档自动生成工具* @author ygc**/
public class DocUtil {public static void main(String[] args) {DocsConfig config = new DocsConfig();// 项目根目录config.setProjectPath("D:\\java\\Eclipse项目\\20200817_V1.0_soilgis"); // 项目名称config.setProjectName("20200817_V1.0_soilgis"); // 声明该API的版本config.setApiVersion("20200817_V1.0_soilgis");    //生成API 文档所在目录config.setDocsPath("C:\\新建文件夹");// 配置自动生成config.setAutoGenerate(Boolean.TRUE);  // 执行生成文档Docs.buildHtmlDocs(config); }
}

编码规范

JApiDocs是通过解析Java源码来实现的,要使得JApiDocs正确工作,需要你在项目中的Controller书写遵循一定的编码规范,需要在注释里面添加@param 否则生成的文档会乱码。

可以参考我的例子

 /*** xml查询 通过id查询用户信息* @param id* @return* @author ygc*/@RequestMapping("/queryUserById")@Transactional(propagation=Propagation.SUPPORTS)public List<UserInfo>  queryUserById(Integer id) {   List<UserInfo> temp=userService.queryUserById(id);if(temp!=null){return temp;}return null;}

四、生成文档

选择文件夹下的index.html并打开

五、生成结果

SpringBoot集成JApiDocs实现自动生成接口文档相关推荐

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

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

  2. SpringBoot自动生成接口文档

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

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

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

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

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

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

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

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

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

  7. java自动生成接口文档

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

  8. DRF 自动生成接口文档

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

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

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

  10. RESTful之自动生成接口文档

    REST framework可以自动帮助我们生成接口文档.[必须是继承自rest_framework才会自动生成文档] 接口文档以网页的方式呈现. 自动接口文档能生成的是继承自APIView及其子类的 ...

最新文章

  1. Ubuntu14.04 x64 zabbix 3.0 安装
  2. 第一个Struts2程序
  3. C语言获取mysql表数据结构_【数据结构】实现顺序表(c语言)
  4. 用C++设计一个不能被继承的类
  5. 内存池和tcmalloc的性能比较
  6. 开源特训营 - Lesson 4 - 如何运营社区
  7. matlab 安装glpk,mac上安装GLPK
  8. C语言实现音乐播放器(Linux madplay)
  9. linux下下安装jdk-6u45-linux-x64.bin
  10. 单位阶跃信号是周期信号吗_iPhone12的信号有改观吗?
  11. 【论文】基于层次化注意力图网络和多视角学习的商品推荐(附论文下载链接)...
  12. 公司-ofo:ofo
  13. GBase数据库产品介绍
  14. 学做‘视频剪辑’攻略
  15. 激光粒度仪测试原理及详情解答【注解】
  16. 利用python修改小米运动数据,整个朋友圈都感觉太夸张了
  17. 2021年茶艺师(中级)考试内容及茶艺师(中级)操作证考试
  18. Python 变量作用域与函数(4)
  19. 为什么有的程序员能力一般却能拿到好offer?
  20. linux下双网卡设置(内外网)

热门文章

  1. Git 使用源代码包编译、配置部署和使用 使用包管理工具安装
  2. html横菜单中菜单均匀分布,html – 如何在flexbox中的行间均匀分布元素?
  3. JAVA文件夹批量重命名
  4. 数据库索引到底是什么,是怎样工作的?
  5. IDEA 创建文件类型与预期文件类型不符时,如何更改
  6. 笔记本计算机bios设置,小技巧:关于笔记本BIOS设置的三招
  7. 支付宝接口对接指南(三、支付宝开放接口对接:老版SDK)【保姆级】
  8. FusionCompute产品介绍
  9. 【蓝桥杯】Java_B组2015年省赛真题
  10. Leftist Heaps 习题解