前后端分离式开发的思考

目前大部分公司都实行了前后端分离开发。然而在项目开发过程当中,经常会遇到以下几个尴尬的场景;

1、前端开发依赖于后端接口数据,需要与后端接口联调才能获得数据展示,从而拖慢了开发进度;

2、没有一个很好的结构化接口文档管理工具,能够对项目中所用到的接口进行管理。如一个请求的地址、有几个参数、参数名称及类型含义等等。同时支持项目、历史版本的切换。

变量名 含义 类型   备注
url  引用mockjs已生成的数值 string @mock=http://ex.com/@size/@background
text 随机获得一段连续字符串   string @mock=@word 
size  图片尺寸 string @mock=@ad_size 
 data|1-5 构造一个数组,含有1-5个元素 array<object  
cn|1-5 重复1-5个'汉字'  string @mock=@汉字
 date 随机生成一段日期字符串,格式为yyyy-MM-dd  string  @mock=@DATE
datetime 随机生成一段时间字符串,默认根式为yyyy-MM-dd HH:mm:ss string @mock=@DATETIME
 dummyimage  符合对象属性 object  
background 随机生成一个颜色作为背景色 string @mock=@COLOR
format|1 从数组中随机挑选一个元素作为属性值 array<object> @mock=png,git,jpg
 email 随机生成一个Email string @mock=@email
 float|1.10 浮点数,整数部分为1,小数部分保留10位 number  

我们来看下其返回的mock数据:

这样就逐个对应起来了;前端可以直接用mock出来的数据进行调试;

怎样应用于实践

RAP提供了Mock插件(暂时仅支持Kissy和jQuery),使用只需要一步。在你的前端代码中增加如下一行,

http://{{domainName}}/rap.plugin.js?projectId={{projectId}}&mode={{mode}}

RAP中通过设置白名单、黑名单模式(即mode参数)来限定对哪些接口做mock服务,默认RAP中已收录的接口会入入白名单;

不足之处

当然是用过程中也有一些不足之处:

1、插件目前仅支持Kissy和jQuery;

2、对自动化测试支持不够;

3、使用过程中卡顿较多;

RAP 接口Mock示例的更多相关文章

  1. 【工具】-RAP接口管理工具

    前言 RAP 是一个可视化接口管理工具, 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率. 在 RAP 中,您可定义接口的 URL.请求 ...

  2. anyproxy学习2-rule模块实现接口mock功能

    前言 AnyProxy不仅仅可以抓包,还可以拦截请求并修改服务端响应,实现接口mock功能. 面试时候经常会问到第三方支付如何测试这种,如果对接的第三方没提供测试环境,那么就需要搭建一个mock服务器 ...

  3. 努力一周,开源一个超好用的接口Mock工具——Msw-Tools

    作为一名前端开发,是不是总有这样的体验:基础功能逻辑和页面UI开发很快速,本来可以提前完成,但是接口数据联调很费劲,耗时又耗力,有时为了保证进度还不得不加加班. 为了摆脱这种痛苦,经过一周的努力,从零 ...

  4. 国际快递查询接口JAVA示例-trackingmore

    国际快递查询接口 国际快递查询接口的需求量很大,例如一些跨境电商B2C网站.快递查询APP.快递柜.跨境物流公司等都会需要用到国际快递接口. 目前市面上的快递接口,以国内快递居多,有些虽然号称支持多家 ...

  5. 使用mockserver来进行http接口mock

    转载自:https://blog.csdn.net/heymysweetheart/article/details/52227379:(注,这个不是很符合我的要求,它主要的作用是可以通过简单的代码就能 ...

  6. 使用electron开发一个h5的客户端应用创建http服务模拟后台接口mock

    使用electron开发一个h5的客户端应用创建http服务模拟后端接口mock 在上一篇<electron快速开始>里讲述了如何快速的开始一个electron的应用程序,既然electr ...

  7. RPC接口mock测试

    转载:http://blog.csdn.net/ronghuanye/article/details/71124127 1        简介 Dubbo目前的应用已经越来越广泛.或者基于Dubbo二 ...

  8. rpc接口mock平台

    转载:http://blog.csdn.net/ronghuanye/article/details/71124320 1.简介 平台采用struts.spring.mybatis框架开发设计,主要用 ...

  9. RAP、Mock.js、Vue.js、Webpack

    最近做项目使用的是RAP1的接口,但是昨天开始,RAP1 出现了问题,接口都不能用了. 所以补充一下Mock.js的用法,以便在这种突发的情况时候时自己通过Mock的方式来处理接口. npm init ...

随机推荐

  1. RDD特性

  2. k8s调度器、预选策略及调度方式

    一.k8s调度流程 1.(预选)先排除完全不符合pod运行要求的节点2.(优先)根据一系列算法,算出node的得分,最高没有相同的,就直接选择3.上一步有相同的话,就随机选一个 二.调度方式 1.no ...

  3. mvn clean compile package install deploy

    (1) package 目的是打包,在pom中,如果是jar就会打包成jar,如果是war就会打包成war 在pom.xml中: <modelVersion></modelVersi ...

  4. TP5系统变量输出

    1.超全局变量 模板中: {$Think.sever.server_name}              //全部小写,输出blog.cn 控制器: $_SERVER['SERVER_NAME']  ...

  5. ES 6 系列 - Promise

    一.含义 是异步编程的一种解决方案,es 6 将其变成了标准. 简单的说是一个容器,里面保存了某个未来才会结束的事件(通常是一个异步操作)的结果.语法上, Promise 是一个对象,从它可以获取异步 ...

  6. How to recovery compiz

    sudo apt install compizconfig-settings-manager dconf reset -f /org/compiz/ setsid unity dconf list / ...

  7. gevent监测单线程下的io进行切换

    from gevent import monkey;monkey.patch_all() import gevent import time def eat(name): print('%s eat ...

  8. 前端es6基础语法

    1.let.const.var var是声明全局的变量,作用域是全局,const是声明全局的常量,不能修改,而let是块级变量只在当前声明的作用域中生效: { var a = 10; let b = ...

  9. python基础数据类型--dict 字典

    字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...

  10. 自己实现strchr函数与strstr函数

    char* my_strchr(char* str, int i) { if (NULL == str) { return NULL; } while ('\0' != *str && ...