网络ApiMock

[toc]

网络Api mock

一、背景

为了避免后端因为其他任务,来不及开发接口,特意建立mock环境,以此来保证后续出现类似情况,app也能够正常的开发,并能够在后端开发结束时候,快速完成整体的联调,从而在某个环节断档的情况下,也能够保证整体的进度。

二、功能介绍

  • 远程模拟
  • 本地模拟

三、远程模拟

1、远程界面样式

目前该环境,已对现有所有app接口实现mock。

image-20220119193932769

2、使用简介

2.1、修改地址

如果你已在api mock后台创建了模拟的接口,则只需要在项目中进行如下修改即可,其会自动将所请求的地址进行模拟。

1
2
3
4
static String getVirtualList = "/account/wallet/virtualAsset/page"

//模拟时候,在字符串尾部加上`.toSimulateApi()`即可
static String getVirtualList = "/account/wallet/virtualAsset/page".toSimulateApi();

2.2、修改mock数据

因为从Swagger同步过来的接口,其返回值不是完整的response结构。

完整的response={“code”:0, “msg”: “成功”, data:xxx};

同步的response=data

所以为避免每个接口都得重复的去添加response外层来调整结构,我们通过在本地网络上进行兼容,从而实现了即使你没对同步的接口进行操作,也能够直接调用请求,得到完整的数据结构。

四、本地模拟

1、使用简介

以模拟/account/wallet/wishStar/page接口为例

1.1、添加本地json

在项目中asset下的的data文件夹里添加该以请求路径命名的json文件。

image-20220322134145737

1.2、修改地址

将请求地址的尾部加上.toLocalApi(),即可自动将所请求的地址进行本地数据模拟。

1
2
3
4
static String wishStar = "/account/wallet/wishStar/page"; //愿望星流水明细

//模拟时候,在字符串尾部加上`.toLocalApi()`即可
static String wishStar = "/account/wallet/wishStar/page".toLocalApi(); //愿望星流水明细

####

_random.nextDouble() 获取的是0-1之间不为负数的小数

四舍五入

1
2
var foo = 6.28;
print(foo.round()); // 6

End