RAP2接口管理工具使用教程

本人最近想为项目写一份接口文档,当时首先想到的是swagger,没想单swagger2对spring5的反应式编程很不友好,转而找其他更优方案

简介及安装

rap2是阿里妈妈前端团队出品的开源接口管理工具RAP,目前是第二版,他的优点是既可以方便管理一整套标准的接口文档,又能够提供mockjs数据。这样就不需要后端先行“到底”,前端才开始开发,既提升团队效率又减少前后端的耦合

安装

最新版的rap2,官方提供了两种安装方式,强烈推荐第一种docker部署的方式,简单直接。下面是安装过程

步骤

  1. 本地环境要求

    安装Docker

  2. 拉取rap2项目到本地任意目录(注:项目中已包含redis,mysql)

    git clone git@github.com:thx/rap2-delos.git
    复制代码
  3. 进入项目,修改docker-compose.yml文件,个人根据需要修改,我这里直接使用项目中的redis和mysql,为了不和本地冲突,改了映射端口。

    // ...
    services:
      # frontend
      dolores:
        image: rapteam/rap2-dolores:latest
        ports:
          #冒号前可以自定义前端端口号,冒号后不要动
          - 4000:38081
    // ...
      redis:
        image: redis:4
        ports:
           - 6479:6379
    // ...
      mysql:
        image: mysql:5.7
        # expose 33306 to client (navicat)
        ports:
           - 3406:3306
    复制代码
  4. 拉取镜像并启动(注:以下命令后是在rap目录下执行)

    docker-compose up -d
    复制代码
  5. 启动后,第一次运行需要手动初始化mysql数据库(注意)

    docker-compose exec delos node scripts/init
    复制代码
  6. 部署成功后 访问

    http://localhost:4000 # 前端
    http://localhost:38080 # 后端

  7. 其他:关闭rap服务

    docker-compose down
    复制代码

手动部署可参考官网

RAP2中配置自定义接口

步骤

  1. 前端登录http://localhost:4000/

  2. 右上角新建仓库

  1. 新建模块->新建接口

  1. 点击导入,直接将示例json粘贴即可

  1. 到这里,一个最基础的接口文档就完成了

mock数据

虽然直接导入json已经很方便,但是里面的模拟数据都是固定的。熟悉mockJs的朋友都知道,动态的响应数据,更适合开发调试。幸运的是,rap也支持Mock.js 的语法规范

详细的语法规则可查看官方git,或者官方示例(推荐)。以下只做一些常见示范的补充:

类型 生成规则 初始值 场景
Number @natural 生成随机数
Number 1-10 1-10的随机数
String @name 随机英文名
String @cname 随机中文名
String @city 随机一个国内地级市名称
Function @datetime("yyyy-MM-dd HH:mm:ss ") 指定格式的日期

不难看出,这些初始值的使用都是@占位符或者@占位符(参数 [, 参数])

类型 占位符 备注
Basic(基础类) boolean, natural, integer, float, character, string, range, date, time, datetime, now
Image(图片) image, dataImage 图片地址
Color(颜色值) color 16进制字符串
Text paragraph, sentence, word, title, cparagraph, csentence, cword, ctitle 段落,标题等
Name first, last, name, cfirst, clast, cname 姓名,姓,名占位符最前面是c的代表产生中文数据
Web url, domain, email, ip, tld 地址,域名,邮箱,ip地址
Address area, region 地区,方向
Helper capitalize, upper, lower, pick, shuffle
Miscellaneous guid, id

示例

导出

  • 整理完接口模块后,点击导航栏下的导出按钮,就可以制作文档或脚本了,非常方便

遇到的问题

  1. rap2运行,在前端页面登录时遇到了问题,登录时token一直无效,注册没有响应,后来我直接将rap2项目中Loggers表清空就可以了

  2. 默认rap2安装后,mysql是没有密码的,因此在登录时直接回车即可

    #进入mysql,直接回车
    docker exec -it docker_mysql mysql -uroot -p
    # 配置密码
    mysql> SET PASSWORD FOR 'root' = PASSWORD('new_password');
    复制代码
  3. 重新部署并修改配置,直接修改docker-compose.yml保存,重新执行步骤5