SpringBoot 自动生成API文档

在做项目的时候,如果项目是前后分离的,后端一定要和前端或者是移动端对接接口,那么问题来了,接口是不是要自己写给他们看,一般的会采用Excel或者Word来写,高级一点的就采用API管理平台手工录入,一个项目有上千上万个接口,天啊,这是多么大的工作量,在接口维护的时候更加痛苦,为了解决这样的事我们可以借助 japi 这个项目来完成RESTFul文档的自动生成,完全基于注释生成,更多详细配置可查看https://github.com/dounine/japi。

使用说明

克隆项目下来

git clone https://github.com/dounine/japi.git

编译打包

cd japi/java
gradle install -xtest

运行JAPI后台管理

cd japi/java
gradle bootRun

运行JAPI文档界面

cd japi/node
node app.js

生成RESTFul文档

maven项目

<dependency><groupId>com.dounine.japi</groupId><artifactId>client</artifactId><version>1.0</version>
</dependency>

gradle项目

compile group: 'com.dounine.japi', name: 'client', version: '1.0'

编辑resources/japi.properties配置文件

japi.name=test
japi.uuid=43a600877430438596de3d330e4bd06e
japi.version=1.0.0
japi.author=lake
japi.url=http://192.168.0.123:8080
japi.description=this is project description.
japi.createTime=2017-02-23 10:44:44
japi.icon=/home/lake/github/japi/html/img/logo.png
japi.server=http://192.168.0.179:7778
japi.server.username=japi
japi.server.password=japi123

编写一个action

/*** 获取用户列表* @param user 用户信息* @return class User* @version v2*/
@GetMapping(value = "v2/list")
public Result hots(@Validated({User.UserDEL.class}) User user) throws RuntimeException {
<span class="hljs-keyword">return</span> <span class="hljs-keyword">null</span>;

}

编写一个API生成类
JapiCreateTest.java

@Testpublic void testCreate(){JapiClient.setPrefixPath("/home/lake/github/test-japi/java/");//项目路径前缀JapiClient.setpostfixPath("/src/main/java");//项目路径后缀
    JapiClient.setProjectJavaPath(<span class="hljs-string">"client"</span>);<span class="hljs-comment">//主项目地扯</span>JapiClient.setActionReletivePath(<span class="hljs-string">"com/dounine/test-japi/action"</span>);<span class="hljs-comment">//相对主项目action包所在路径</span><span class="hljs-comment">//JapiClient.setIncludeProjectJavaPath(new String[]{"api"});//主项目中关联的其它项目包路径</span>JapiClient.setIncludePackages(<span class="hljs-keyword">new</span> String[]{<span class="hljs-string">"com.dounine.test-japi"</span>});<span class="hljs-comment">//关联的包,用于准确快速搜索</span>JapiClient.saveHistory(<span class="hljs-keyword">true</span>);<span class="hljs-comment">//是否保留本地历史版本</span>JapiClient.setFlushServer(<span class="hljs-keyword">false</span>);<span class="hljs-comment">//强制同步本地与服务器所有的版本(会先删除服务器以前的历史版本)</span>IProject project = ProjectImpl.init();JapiClientStorage japiClientStorage = JapiClientStorage.getInstance();japiClientStorage.setProject(project);japiClientStorage.autoSaveToDisk();<span class="hljs-comment">//自动使用到本地磁盘==&gt; 用户目录/.japi-client/</span><span class="hljs-keyword">new</span> JapiClientTransfer().autoTransfer(japiClientStorage);<span class="hljs-comment">//文件传输到主服务器.</span>
}

最后访问浏览器 http://localhost:7777

就可看到RESTFul文档登录

这里写图片描述

使用自己的帐号登录就可以看到所有项目

这里写图片描述

进入项目看详细RESTFul接口

这里写图片描述

使用场景

JAPI最适合在SpringCloud这样的分布式多模块项目中使用,内置强大的正则表达式,这会让代码注释更加规范,区别于swigger这类使用侵入式注解生成文档的,JAPI是完全基于标准注释生成的,支持强大的JSR303或者是自定义注解。

SpringBoot 自动生成API文档相关推荐

  1. springboot api文档_SpringCloud/SpringBoot - 自动生成API文档

    SpringCloud/SpringBoot 的项目一定要前后分离,这就需要一个API文档生成的工具,后端一定要和前端或者是移动端对接接口,那么问题来了,接口是不是要自己写给他们看,一般的会采用Exc ...

  2. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  3. 【接口文档】Django restful framework中自动生成API文档

    Django restful framework中自动生成API文档 一.Swagger概述 1.引言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档使用Word编写,or一些接口文档管理平台 ...

  4. swagger php修改成中文,PHP使用swagger自动生成API文档

    使用 swagger 自动生成 API 文档 使用 swagger 自动生成 API 文档,有需要的朋友可以参考下. 一.下载 swagger-ui 直接上传服务器 二.下载 swagger-php ...

  5. 超详细!使用swagger自动生成Api文档(swagger-ui)

    介绍 swagger是什么? swagger-ui 使用swagger-ui 简单使用 swagger api注解 本文参考: 介绍 这里是一些介绍,如果想直接看如何使用,请直接跳过这部分.但如果有时 ...

  6. windows api中文文档_Web服务开发:Spring集成Swagger,3步自动生成API文档

    目录: 1,Spring Boot集成Swagger 2,Swagger接口文档页面 3,常见问题和解决方法 在Sping开发REST接口服务时,API文档是不可缺少的一个重要部分.Swagger框架 ...

  7. swagger 修改dto注解_Web服务开发:Spring集成Swagger,3步自动生成API文档

    目录: 1,Spring Boot集成Swagger 2,Swagger接口文档页面 3,常见问题和解决方法 在Sping开发REST接口服务时,API文档是不可缺少的一个重要部分.Swagger框架 ...

  8. PHP使用swagger-php自动生成api文档(详细附上完整例子)

    thinkphp5结合swagger自动生成接口文档 整体介绍 swagger-php.swagger-ui.swagger-editor swagger-ui:主要就是放到tp项目public目录下 ...

  9. SpringBoot自动生成接口文档

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

最新文章

  1. springboot通过Intellij指定端口
  2. public medical image database
  3. linux常用的脚本、命令
  4. mysql导入xml 工具下载_XML导入Mysql工具下载|XmlToMysql 最新版v2.1 下载_当游网
  5. Docker上搭建Mysql8.0服务器
  6. 寻找创业方向的3个方法
  7. 用jframe给MySQL输入数据_如何从JTextField输入Info到sql数据库?
  8. 遗传算法优化变分模态分解VMD包络熵和参数及MATLAB代码
  9. c盘瘦身(c盘瘦身最简单的方法win10)
  10. setup factory 设置默认字段的值
  11. 《室内设计软件Sketch Up零初级入门视频教程》
  12. 模糊聚类及matlab实现,模糊聚类分析及matlab程序实现
  13. 190825 reverse-ogeek初赛
  14. WEB漏洞攻防 -根据不同数据库类型之间的差异性进行注入
  15. vue-cli中配置gzip压缩
  16. 心疼南威尔士警方!成功演绎如何用人脸识别错抓罪犯
  17. JQuery Validate(1)---电话号码与邮箱验证
  18. 彻底了解DVD:从入门到精通(二)[转]
  19. ES6代码转换为ES5的代码
  20. 玩这么久 Python ,这些好玩又实用的库一定不能错过!

热门文章

  1. 关于酷派S66手机在WIN7系统下如何连接上网
  2. CSS总结——导航栏
  3. 真无线耳机战场:小米进、苹果退
  4. WebSocket 长连接详解
  5. Java基础(21)asList()方法、集合嵌套、Set集合、HashSet集合、LinkedHashSet集合、TreeSet集合
  6. 匠人精神,也许是内卷到极致的自然现象
  7. 让计算机时间的前面显示你的爱人的名字
  8. “并发冲突” 分析与解决
  9. Airbnb数据科学家: 历时6个月,我终于找到了心仪的工作
  10. 常用的排序算法的时间复杂度以及稳定性