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

使用说明

克隆项目下来

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

编译打包

cd japi/javagradle install -xtest

运行JAPI后台管理

cd japi/javagradle bootRun

运行JAPI文档界面

cd japi/nodenode app.js

生成RESTFul文档

maven项目

com.dounine.japi client 1.0

gradle项目

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

编辑resources/japi.properties配置文件

japi.name=testjapi.uuid=43a600877430438596de3d330e4bd06ejapi.version=1.0.0japi.author=lakejapi.url=http://192.168.0.123:8080japi.description=this is project description.japi.createTime=2017-02-23 10:44:44japi.icon=/home/lake/github/japi/html/img/logo.pngjapi.server=http://192.168.0.179:7778japi.server.username=japijapi.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 { return null;}

编写一个API生成类

JapiCreateTest.java

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

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

就可看到RESTFul文档登录

登录界面

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

模块列表

进入项目看详细RESTFul接口

模块接口

使用场景

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

开源精神

JAPI已完全开源

最后

每天发布更多新鲜有含量的技术文章、总有一款适合你。

快关注我、把我打包带走。

springboot api文档_SpringCloud/SpringBoot - 自动生成API文档相关推荐

  1. python 自动生成word文档,用 Python 自动生成 Word 文档

    当然要用第三方库啦 :) 使用以下命令安装: pip install  python-docx 使用该库的基本步骤为: 1.建立一个文档对象(可自动使用默认模板建立,也可以使用已有文件). 2.设置文 ...

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

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

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

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

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

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

  5. SpringBoot 自动生成API文档

    SpringBoot 自动生成API文档 在做项目的时候,如果项目是前后分离的,后端一定要和前端或者是移动端对接接口,那么问题来了,接口是不是要自己写给他们看,一般的会采用Excel或者Word来写, ...

  6. SpringBoot自动生成接口文档

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

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

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

  8. python生成api文档_Django 自动生成api接口文档教程

    最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化 ...

  9. python api接口生成_Django 自动生成api接口文档教程

    最近在写测试平台,需要实现一个节点服务器的api,正好在用django,准备使用djangorestframework插件实现. 需求 实现一个接口,在调用时,通过传递的参数,直接运行对应项目的自动化 ...

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

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

最新文章

  1. 有关于Java Map,应该掌握的8个问题
  2. Linux-NFS——配置过程
  3. lnmp环境搭建完全手册(四)——lnmp搭建(源码安装)
  4. 链表的基本应用二及总结
  5. dell笔记本外接显示器_使用笔记本电脑外接大屏幕液晶显示器的体验
  6. javascript实现较全功能注册表单
  7. Tampermonkey版Vimium
  8. python 谷歌翻译
  9. 华为天才少年——稚晖君!
  10. 沉睡者IT - 月赚几千的创业项目思路,抖音文案号网赚项目
  11. MySQL数据库课程设计_什么是数据库?如何学习数据库?
  12. 中国互联网出现数学家的科普乐园
  13. python 构建_通过构建互动游戏来教孩子Python
  14. 《C++面试宝典》V1.0 冲刺大厂~持续更新(12)
  15. 在Go中构建区块链 第5部分:地址
  16. 超融合一体机与软件选哪个好?适合什么场景?各有什么利弊?
  17. 移植OpenHarmony 3.0到ARM单片机
  18. PMP learning
  19. 数据库系统概论第五版课后习题
  20. 安卓学习之持久化技术(数据库操作)

热门文章

  1. 用注册表禁止windows添加新用户
  2. http的get与post方式下的getParameter获取中文
  3. CAP 理论 —— 最通俗的解释
  4. vue data数据修改_VUE的数据响应式
  5. linux终端密码星星,如何获得您的sudo密码在Ubuntu中显示为星号 | MOS86
  6. telegraf输出MySQL_Grafana+influxdb+telegraf初探-快速监控主机与mysql
  7. pytorch加载的模型测试的结果和保存时测试的结果不一致
  8. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 20丨查询球队积分【难度中等】​
  9. 用 Python 和 werobot 框架开发公众号
  10. pandas 读写 excel