前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot 自动生成API文档

SpringBoot 自动生成API文档

作者头像
matinal
发布2020-11-27 11:56:18
8800
发布2020-11-27 11:56:18
举报
文章被收录于专栏:SAP Technical

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

使用说明

克隆项目下来

代码语言:javascript
复制
git clone https://github.com/dounine/japi.git

编译打包

代码语言:javascript
复制
cd japi/java
gradle install -xtest

运行JAPI后台管理

代码语言:javascript
复制
cd japi/java
gradle bootRun

运行JAPI文档界面

代码语言:javascript
复制
cd japi/node
node app.js

生成RESTFul文档

maven项目

代码语言:javascript
复制
<dependency>
    <groupId>com.dounine.japi</groupId>
    <artifactId>client</artifactId>
    <version>1.0</version>
</dependency>

gradle项目

代码语言:javascript
复制
compile group: 'com.dounine.japi', name: 'client', version: '1.0'

编辑resources/japi.properties配置文件

代码语言:javascript
复制
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

代码语言:javascript
复制
/**
 * 获取用户列表
 * @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

代码语言:javascript
复制
@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项目组将它改造得更好。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用说明
    • 生成RESTFul文档
    • 最后访问浏览器 http://localhost:7777
    • 使用场景
    • 开源精神
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档