前后端分离--构建前端Mock Server--windows部署rap
mock:模拟的,虚假的
mock server:模拟服务,模拟请求,模拟虚假数据
为了前后端更好的分工,接口文档是必须的,前后端都根据接口文档写代码,然后对接接口就行了。
但是,后端跟不上前端节奏,接口跟不上来怎么办?即便接口跟上来了,大后端数据跟不上又怎么办?
第一种想到的方法就是模拟返回数据,根据接口文档定义好的返回数据格式,新建一个json文件夹,里面放一堆*.json文件,像这样:
然后请求json数据,像这样:

所以为了前端有数据,就会有很多很多的请求json文件。当后端接口上来后,又要一个一个挨着去把json请求改为真实接口名,这就要求代码需要写的比较规范,不然接口的对接真的很难受,而且在修改某些复杂逻辑的地方的时候还必须的小心翼翼,不然就只有等测试发来bug单了。
造json文件模拟请求对于小的项目确实还是挺方便的,但是项目大了呢,上百个接口甚至更多呢?
一堆一堆的json看着都烦,还不说前后端对接了。
那么要怎么才能解决前后分离,节约时间,提高开发效率,减少前端对后端的依赖呢?
那就是为前端提供一个可以在本地用的web容器,这个就是 mock server。
mock server 能解决哪些问题呢?
1、接口文档的编写
2、根据接口拦截请求,返回接口需要返回的结果数据
3、方便线上线下的切换
我这里要用做mockserver的就是rap了,rap结合了团队管理,项目管理,文档编写、Mock.js、可视化、接口过渡、文档历史版本(赞)、mock插件(线上线下切换就只需要注释一句代码就OK),支持本地部署。
那么怎么将rap部署到本地呢?官网有部署手册。
我这里是部署到windows环境下的。
部署方式有两种:
1、使用编译好的war包部署(适合仅想部署RAP服务,不需开发定制功能的同学)
2、使用源码自行编译、开发后部署(需配置J2EE开发环境, 适合想要研究RAP源代码,开发定制功能的同学)
我不需要自行开发就采用war包部署。
需要环境:jdk,tomcat,MySQL,Redis
第一步:在官网https://github.com/thx/RAP/releases将最新的war包下下来,然后改名为ROOT.war,放到tomcat下面的webapps里面

第二步:启动tomcat,该war包自动部署到文件夹ROOT


第三步:修改数据库配置文件,打开ROOT中得WEB-INF/classes/config.properties


修改jdbc.username=您的数据库用户名
修改jdbc.password=您的数据库密码
redis的端口号默认
第四步:安装redis
http://www.redis.net.cn/tutorial/3503.html下载redis-2.45

根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 G:\dev


打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf 。
如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey

这就说明redis安装成功了。
第五步:开启tomcat和redis,浏览器输入:localhost:8080

说明部署成功了。rap的默认用户是admin,密码通过双重md5加密了的,但是不是正常的加密 ……
所以要想登录admin,还得先注册一个用户,比如密码设置为123456,打开MySQL

将新注册的dothin的密码复制到admin里面去,然后admin就能登录了
具体怎么使用rap,自行看rap教程
前后端分离--构建前端Mock Server--windows部署rap的更多相关文章
- 前后端分离框架前端react,后端springboot跨域问题分析
前后端分离框架前端react,后端springboot跨域问题分析 为啥跨域了 前端react的设置 springboot后端设置 为啥跨域了 由于前后端不在一个端口上,也是属于跨域问题的一种,所以必 ...
- 前后端分离之前端项目构建(grunt+require+angular)
前言 前段时间做了一个项目,前端开发页面,然后把代码给到后端同学,后端同学通过vm再来渲染页面.后来才发现,这种方式简直是太low了,因为前端代码在服务端同学那里,每次前端需要更改的时候都需要去到服务 ...
- 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi
一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...
- .netcore+vue+elementUI 前后端分离---支持前端、后台业务代码扩展的快速开发框架
框架采用.NetCore + Vue前后端分离,并且支持前端.后台代码业务动态扩展,框架内置了一套有着20多种属性配置的代码生成器,可灵活配置生成的代码,代码生成器界面配置完成即可生成单表(主表)的增 ...
- 前后端分离, 前端如何防止直接输入URL进入页面?
转自:https://blog.csdn.net/weixin_41829196/article/details/80444870 前后端分离,如何防止用户直接在地址栏输入url进入页面,也就是判断用 ...
- springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...
- 构建前端Mock Server
写在前面 最开始只是在做活动页面时苦于效率太低制定了这样一个自动化的工作环境, 所以Github上项目名是Rapid-Dev-Activity-Page(快速开发活动页...). 活动页这类比较简单的 ...
- 解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题
问题: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话. 在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, ...
- 前后端分离之前端vue
npm install --global vue-clivue init webpack my-project cd my-project npm install npm run dev ...
随机推荐
- Unity3D之Character Controller(CC)与GameObject的碰撞方法
先来一部分网上常见的内容(略整理): --------------------分隔线---------------------- Unity3d中参与碰撞的物体分2种类型: 一.发起碰撞的物体. 二. ...
- HDU 5938 Four Operations 【贪心】(2016年中国大学生程序设计竞赛(杭州))
Four Operations Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- 算法 python实现(三) 快速排序
算法学起来真费劲啊,智商只够捉只鸡的.昨晚没看明白就没电了,过两天要考虑偷电了... 今天看看快速排序,有一个博客写的很好,通俗生动形象,适合我这样的算法大白菜.推荐一下 http://www.cnb ...
- 关于 Unity NavMesh 数据的导出和使用
上周的工作重点转移到服务器寻路上来,刚刚做完没几天,总结一下,当时团队讨论的结果是使用 Unity 原生的 NavMesh 系统,然后将数据导出到服务器使用.我最初的思路是将导出的网格加载到服务器后, ...
- Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
我们需要先准备好2个apache的类: 上一个博客文章只讲了最简单的入门,现在来开始慢慢加深. 先过渡一下:只上传一个file项 index.jsp: <h2>用apache的工具处理文件 ...
- BZOJP1003 [ZJOI2006]物流运输trans
BZOJP1003 [ZJOI2006]物流运输trans 1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec Memory Limit: 162 MB Sub ...
- C#如何将线程中的代码抛到主线程去执行
private SynchronizationContext mainThreadSynContext; //主线程 mainThreadSynContext = new WindowsFormsSy ...
- Shell if else语句
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句: if ... else ... fi 语句: if ... ...
- 第一次尝试使用JAVA编写的ATM机程序
package study; import java.util.Scanner; public class ATM { private static int[] users = { 111111, 2 ...
- 简单了解View是What?
Android UI界面架构 每个Activity包含一个PhoneWindow对象,PhoneWindow设置DecorView为应用窗口的根视图.在里面就是熟悉的TitleView和Content ...