RAP, 高效前后端联调框架,接口文档管理工具
RAP通过GUI工具帮助WEB工程师更高效的管理接口文档,同时通过分析接口结构自动生成Mock数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的API数据,RAP可以做的更多,而我们可以避免更多重复劳动。
写在最前
部署RAP需要亲具有J2EE+Linux+MySQL的运维知识,如果亲对此不是很了解,建议用http://rap.taobao.org线上版本就可以了。
自己部署RAP服务的同学,为了在有新Release、发现重大安全漏洞时能够及时的通知到各位管理员,请订阅重要信息推送帖
部署方式有两种。
- 使用编译好的war包部署
- 适合仅想部署RAP服务,不需开发定制功能的同学
- 使用源码自行编译、开发后部署
- 需配置J2EE开发环境, 适合想要研究RAP源代码,开发定制功能的同学
war包部署方法
在Release页面中下载war包(建议用最新), 将war包修改为ROOT.war
后放入tomcat webapps文件夹中。 startup.sh(.bat)启动tomcat,该war包自动部署到文件夹ROOT 停掉服务器,打开ROOT中得WEB-INF/classes/config.properties
来修改数据库配置 启动tomcat,完成部署。
注意,一定要用ROOT部署,历史原因暂时只支持ROOT部署
构建项目 (war包部署不需要)
获取源代码
git clone git@github.com:thx/RAP.git
git checkout release
确保您正确的切换到release分支,否则会出现少包,因为master分支引用一些不对外公开的内部组件,不提供给外部用户使用。
导入到IDE
以MyEclipse为例,在Package Explorer中右键 -> Import -> Existing Projects into Workspace, 将RAP项目导入进来。
根据您IDE的不同,导入项目的方式也有所差异。建议自行检索,如果您根本不懂Java开发,建议跳过这里用编译好的war包部署吧。 d- .-b|||
配置环境
安装基本工具
- 仅使用源码自行编译才需要安装的(即,使用war包部署不需要安装)
- Eclipse/MyEclipse/IDEA
- Git
- 都需要安装的
- JDK 1.8+
若报错,请尽量使用较新版本
- MySQL 5.6.12+
太老的MySQL运行initialize.sql会报多timestamp错误
- Tomcat 8.*+
不要用9alpha,alpha和beta出任何诡异问题我肯定不知道,亲愿意折腾倒也无妨,个人不建议
- Redis 3.0+
部署在本机,默认端口即可
- JDK 1.8+
以上工具如何安装自行检索。
安装Redis
- RAPA需要部署Redis Server,端口默认即可。建议使用3.0稳定版 下载地址
- 下载后,解压缩,进入redis文件夹,使用make命令完成编译
- 执行
./src/redis-server
来启动Redis Server,若Redis未启动,RAP会报Redis未启动的异常。建议使用nohup ./src/redis-server &
来启动Redis Server,更多用法见官网文档。
- 执行
- 下载后,解压缩,进入redis文件夹,使用make命令完成编译
初始化数据库
执行release分支下的SQL脚本: /src/main/resources/database/initialize.sql,该脚本中包含数据库创建、表&结构创建、必要的初始数据创建的全部内容。
注意,因最新的mysql的sql_mode设置的比较严格,需要手动配置下SQL_MODE来禁止full_group检查,可以改MySQL配置文件,或者运行如下SQL语句来修改SQL_MODE:
SET @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';
配置文件
请正确配置src/config.properties
中的数据库连接地址、用户名和密码。
配置context-root (war包部署不需要)
将context-root设置为/,即访问RAP时,必须是http://domain.com/ 而不能是 http://domain.com/rap/。
设置context-root不同的IDE设置方法不一样,以MyEclipse/Eclipse举例:
- MyEclipse中,打开项目属性(Properties), 在Properties -> MyEclipse -> Web -> Web Context-root中,将其修改为/ROOT,以确保RAP部署在tomcat/webapps/ROOT中。
- 如果是Eclipse, Properties -> Web Project Settings -> Context Root 中修改,确保其为ROOT
启动项目
完成上述步骤,将RAP配置到Tomcat中启动即可。
注意!RAP暂时仅支持在根目录部署,若使用编译好的war包部署,需将war包改名为ROOT.war,以确保RAP部署在webapps/ROOT中!
剩下的就是跟着RAP文档中心首页的教程一步一步开启RAP之旅啦!
常见问题
如何管理团队
在tb_corporation中自行管理,默认在初始化后只有一个默认团队。
如何增加管理员
在tb_role_and_user中添加一条记录,user_id是管理员的id,role_id是1(超级管理员)或2(管理员)。
如何获取更新?
我们会确保release的分支上是可用的版本。在开发环境中git pull来获取最新的源码更新,每一期更新都会有对应的update.md请关注并按照上面的指示进行升级工作。
Admin初始密码是什么?
由于密码进行了加密,所以无法直接登录。
使用管理员账号登陆的方法有很多:
- 建议自行注册账号,并按照上面的方式添加管理员权限即可。
- 随便注册个小号,设置密码例如123456,然后将该账户的密码,拷贝的admin的密码列当中。
- 如果亲使用源代码自行编译,可以通过设置PRIVATE_CONFIG.java中的adminPassword字段(万用密码)来进行登录。
githup: https://github.com/thx/RAP
预览地址:http://rap.taobao.org/org/index.do
RAP, 高效前后端联调框架,接口文档管理工具的更多相关文章
- 接口文档管理工具-Postman、Swagger、RAP(转载)
接口文档管理工具-Postman.Swagger.RAP 转自:http://www.51testing.com/html/10/n-3715910.html 在项目开发测试中,接口文档是贯穿始终的. ...
- 接口文档管理工具rap
git地址: https://github.com/thx/RAP wiki : https://github.com/thx/RAP/wiki/home_cn 视频教程: http://thx.g ...
- Api接口文档管理工具,你知道哪些呢?
上周看到有人在我的Github开源项目中提了个issue,说是否考虑接入swagger.那今天我就用swagger与其他接口文档工具做对比,同时说说Api接口文档工具的那点事.如今,在前后端分离开发的 ...
- api(接口)文档管理工具
api(接口)文档管理工具 欢迎光临:博之阅API管理平台 ,做为一个app开发者,还没有用到api管理工具,你就OUT了 点击进入:程序员精华博客大全
- api接口测试工具和接口文档管理工具
api接口测试工具和接口文档管理工具 1.postman(https://www.getpostman.com) Postman 是一个很强大的 API调试.Http请求的工具.她可是允许用户发送任何 ...
- drf框架接口文档
drf框架接口文档 REST framework可以自动帮助我们生成接口文档. 接口文档以网页的方式呈现. 自动接口文档能生成的是继承自APIView及其子类的视图. 一.安装依赖 pip insta ...
- 接口文档管理神器RAP2安装和部署
目录 一 RAP2 二 RAP2 安装需要的环境 2. 1 Node.js 安装: 2. 2 Mysql 5.7+ 安装 2 .3 Redis 安装见文章 2. 4 后端 rap2-delos 安装 ...
- 一款对Postman支持较好的接口文档生成工具
最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...
- API文档管理工具
系统庞大之后,前后端分离开发,前端调用后端提供的接口,请求协议一般是 HTTP,数据格式一般是 JSON.后台只负责数据的提供和计算,而完全不处理展现逻辑和样式:前端则负责拿到数据,组织数据并展现的工 ...
随机推荐
- SpringMVC初写(五)拦截器
在系统开发过程中,拦截器的使用可以使我们实现一些需求.如:登录认证,权限管理等,拦截器的工作核心就是将一些工作流程进行统一处理 拦截器和过滤器的区别: 过滤器过滤的是请求路径,拦截器拦截的各层方法的映 ...
- Mac下使Iterm2开机启动不显示界面
一.在登录项上添加Iterm2的启动项 二.打开Iterm2 1.启动后会显示Iterm2,此时点击关闭按钮,保证桌面上没有任何的控制台窗口. 2.按[Command]+[Shift]+[S],保存名 ...
- Android:刚6瓶啤酒4两56度白酒下肚,居然20分钟做了一手机版网站 !
刚6瓶啤酒4两56度白酒下肚,居然20分钟不到时间做了一手机版网站 !人有多大潜力你知道吗? 大家有兴趣的可以用手机或微信打开 http://xh.yunxunmi.com/ 看看俺这酒后之做! 更 ...
- (转)linux运维必会MySQL企业面试题
linux运维必会MySQL企业面试题 老男孩教育运维班全体学员MySQL必会企业面试题最实战.最细致.最落地的运维实训基地,老男孩教育连续多年国内平均就业工资最高! 数据库的重要性是所有技术里最核 ...
- springboot项目:项目部署
第一步:打开终端,进入项目根目录 输入命令: cd /Users/liuxiaoming/Documents/software/ideawork/sell/ 第二步:对项目进行打包编译跳过测试: m ...
- wap webapp app区别
“手机WAP版网站”.“手机触屏版网站”.“手机APP应用软件”: wap webapp app区别 电脑版:台式机或者笔记本访问,兼容各个浏览器: Wap版:用于传统智能手机,屏幕小,适合使用手机键 ...
- 通过面试题,让我们来了解Collection
前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识!** 本章主要介绍Collection集合相关知识,结合面试中会提到的相关问题进行知识点的梳理.希望 ...
- docker搭建gitlab,设置邮件提醒,并运行runner
接着http://www.cnblogs.com/wsy1030/p/8431837.html 在另一台机子运行gitlab: docker run --name='gitlab' -d -p 222 ...
- Nginx的upstream的5种分配方式
转自:Nginx的upstream目前支持5种分配方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight指定轮询几率,weigh ...
- JAR,WAR,EAR的使用与区别
WAR(Web Archive file)网络应用程序文件 是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文 ...