阿里RAP+fiddler实现app原生应用的cgi数据mock----- (二)添加mock规则,随机返回4中类型(不同长度)的数据

Posted 茅草屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里RAP+fiddler实现app原生应用的cgi数据mock----- (二)添加mock规则,随机返回4中类型(不同长度)的数据相关的知识,希望对你有一定的参考价值。

##RAP如何生成json数据##

1、页面添加mock规则;直接入库;
2、服务从db中获取对应的规则串,调用mock-min.js解析,生成数据返回给服务;
MockjsRunner.doRenderMockJsRule调用context.evaluateString直接执行mock-min.js,返回对应生成的结果;
3、服务讲回调函数的结果返回给前端;
##RAP如何添加规则##
mock-min.js中对Random.extend进行扩展:

Random.extend({ 
/*随机返回一个随机值,包含null,类型包括String,number,boolean*/
testRandom: function(){ 
/*随机数确定类型*/
var key = Number(Math.floor(Math.random()*10)+2);
/*2~36随机长度字符串*/
var length = Math.floor(Math.random()*36)+1;
var result;
var flag=0;
if(key>0 && key <=3){
flag=1;
}else if(key>3 && key<=6){
flag=2;
}else if(key>6 && key<=9){
flag=3
}
switch(flag){
/*return String类型*/
case 1:
result=Math.random().toString(length);
break;
/*return number类型*/
case 2:
if(key==6){
result=0;
}else{ 
var type = key%2 == 0 ? 1:-1;
result=Math.random()* Math.pow(2,length) * type;
}
break;
/*return boolean类型*/
case 3:
result=key%2 == 0 ? true:false;
break;
/*return null*/
default:
result=null;
}
return result;
}
});

 


###遇到的问题记录###
1、javascript的switch case中,case不支持表达式,只支持基础类型变量;
2、很久不写代码,连基本的判定表达式都写成了数学表达式,wtf;

以上是关于阿里RAP+fiddler实现app原生应用的cgi数据mock----- (二)添加mock规则,随机返回4中类型(不同长度)的数据的主要内容,如果未能解决你的问题,请参考以下文章

安装部署阿里云的RAP系统

云原生之Docker实战使用Docker部署Rap2开源接口管理工具

阿里妈妈-RAP项目的实践

阿里妈妈-RAP项目的实践

使用RAP2和Mock.JS实现Web API接口的数据模拟和测试

阿里云丁宇:以领先的云原生技术,激活应用构建新范式