接口模拟框架
  在我们开发的过程中,通常会遇到接口开发很慢,然后我们把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;
    }
  1. 接口请求的方式
    MockHttpMethod.POST
  2. 接口请求的地址
    “/XXX/XXX”
  3. 请求的模拟数据
    “XXX.json”
  4. 请求的数据文件位置
    放置asset文件下创建路径mockdata/api(api 是自己定义的),或者自定义位置(调用时注意路径的书写, 详情查看API)
  5. 设置请求结果的状态
    setSuccessDataFile
    设置api调用成功返回的数据结果
    setErrorDataFile
    设置api调用失败返回的数据结果
    setState
    设置这次是模拟api调用成功还是失败(默认模拟调用成功)
    setRequestTime
    设置api请求时间(可以用来模拟请求慢的情况)
  6. 设置网络框架中(很重要的一步)
    根据自己的网络框架进行设置 此处使用okhttp
OkHttpClient.Builder builder = new OkHttpClient.Builder();
        if (BuildConfig.DEBUG) {
            builder.addInterceptor(mockApiInterceptor);
        }