接口模拟框架
在我们开发的过程中,通常会遇到接口开发很慢,然后我们把UI设计图都画好了。但是没有接口拿不到数据,不能进行逻辑处理。因此为了能够同步进行开发,我们不能不需要自己去构造模拟数据来处理逻辑。对于模拟数据之前我们讲过一个案例,使用wireMoke进行处理。今天发现一个比较好用的接口模拟框架和大家分享一下。
- 引入第三方依赖库
'com.shanbay.android:mock-api:0.0.1'
- 初始化
MockApiInterceptor mMockApiInterceptor = new MockApiInterceptor(getApplication());
- 调用进行模拟接口
mMockApiInterceptor.addMockApiSuite(getMockApiSuites());
- 获取MockApiSuiteS
private MockApiSuite getMockApiSuites() {
//此处的api决定了数据请求的位置
//需要在asset文件下创建mockdata/api/并把模拟数据文件放置该路径下
MockApiSuite suite = new MockApiSuite("api");
suite.addMockApi(new StandardMockApi(MockHttpMethod.POST, "/XXX/XXX").setSuccessDataFile("XXX.json"));
return suite;
}
- 接口请求的方式
MockHttpMethod.POST - 接口请求的地址
“/XXX/XXX” - 请求的模拟数据
“XXX.json” - 请求的数据文件位置
放置asset文件下创建路径mockdata/api(api 是自己定义的),或者自定义位置(调用时注意路径的书写, 详情查看API) - 设置请求结果的状态
setSuccessDataFile
设置api调用成功返回的数据结果
setErrorDataFile
设置api调用失败返回的数据结果
setState
设置这次是模拟api调用成功还是失败(默认模拟调用成功)
setRequestTime
设置api请求时间(可以用来模拟请求慢的情况) - 设置网络框架中(很重要的一步)
根据自己的网络框架进行设置 此处使用okhttp
OkHttpClient.Builder builder = new OkHttpClient.Builder();
if (BuildConfig.DEBUG) {
builder.addInterceptor(mockApiInterceptor);
}