前后端分离--构建前端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 ...
随机推荐
- bzoj2285
完全是为了拼凑才出出来的吧先分数规划求出到基地入口的最小安全系数然后再最小点权覆盖集,只不过这里是带一定精度实数的流,其实是一样的 ; eps=0.001; type way=record po,ne ...
- 非sqlite和nigix的开源c项目
1.http://code.google.com/p/friso/ 一.friso中文分词器 Friso是使用c语言开发的一款高性能中文分词器,使用流行的mmseg算法实现.完全基于模块化设计和实现, ...
- 【转】Xcode7.1环境下上架iOS App到AppStore 流程 (Part 三)
原文网址:http://www.cnblogs.com/ChinaKingKong/p/4964745.html 前言部分 part三 部分主要讲解 Xcode关联绑定发布证书的配置.创建App信息. ...
- 【转】 Android BCM4330 蓝牙BT驱动调试记录
原文网址:http://blog.csdn.net/dwyane_zhang/article/details/7180779 网上关于BT的驱动很少,所以我在开发过程中把其中的步骤记录下来.供大家相互 ...
- 第一章 用three.js创建你的第一个3D场景
第一章 用three.js创建你的第一个3D场景 到官网下载three.js的源码和示例. 创建HTML框架界面 第一个示例的代码如下: 01-basic-skeleton.html 位于 Learn ...
- java 正则表达式例子, 查找字符串
import java.util.regex.Matcher;import java.util.regex.Pattern; public class Main { public static voi ...
- selenium webdriver(4)---模拟鼠标键盘操作
webdriver提供Actions来模拟鼠标悬浮.拖拽和键盘输入等操作,详细代码见org.openqa.selenium.interactions.Actions.本文通过几个实例来说明Action ...
- Bzoj 2453: 维护队列 && Bzoj 2120: 数颜色 分块,bitset
2453: 维护队列 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 578 Solved: 247[Submit][Status][Discuss] ...
- 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├─ ...
- 安装XCode导致mac无法正常开机怎么办
作为一个IOS编程菜鸟,之前在网上买的IOS教程都坑爹的是xcode4以前的版本的,由于3和4界面变化较大,所以看着书往往不知所云,所以就迫不及待地从网上下载了XCode 3.2.5+iOS SDK ...