目录

  • mock数据的使用场景
  • 现在有哪些mock的方法
    • YApi
    • Postman
  • YApi的介绍
    • 为什么不运用YApi
    • YApi的mock数据的好处
    • YApi的相关文档
  • 怎么搭建一个Mock Server(PostMan)
    • 怎么创立一个Mock Server
    • 简略的装备需求Mock的接口
    • 装备Mock Server并创立Server
    • 获取私有Server的API Key
    • 创立成功后会拿到哪些数据
    • 测验功用
  • Android项目里边能怎么规划一套 动态切换Mock和正常接口的切换组件思路
    • 自定义注解
    • 经过模仿RxJava2CallAdapter的思路
    • 经过注解和反射技能动态修正真正网络恳求的Request参数

mock数据的使用场景

在大部分开发同学的日常开发日子中,大概率都能遇到一个问题,后端同学保护了某个需求的接口文档,然后由于不可抗力的要素,导致无法供给正常的数据,你刚好就卡在了这个当地,莫非要痴痴傻傻的等着“”回来吗;

这个时候就体现出Mock数据的重要性了,经过mock的方法自给自足,等“”回来之后开始联调,完成后删除这个mock的逻辑,也不必“痴痴傻傻等候她回来”。

现在有哪些mock数据的方法

现在我熟悉的有YApi、Postman供给了mock服务,

个人比较引荐YApi 具有接口文档、权限办理、Mock数据等多个功用,可是仅有的缺陷是:渠道需求人搭建,接口需求Java同学保护;假如公司有意向的话能够花点时刻去搞一下,自己一个人保护有一点因小失大的感觉……

Postman 这个工具一般在接口联调的时候运用频频,其具有一个Mock server的功用,不需求你去搭建渠道,也不需求保护接口文档,便是最简略的Mock数据的功用。

YAPi

简介:一个集成化的渠道,能够经过接口文档、权限办理、mock数据的功用,其功用完成度十分高,十分合适企业去保护;

不引荐的原因:比较合适公司项目里边去保护,大家都用这一套,假如是个人运用,有点因小失大,保护本钱高于你的收益;

YApi的mock好处:不需求改动太多的参数,仅将本来的网络恳求的相对路径进行修正即可,方便好用;

   // 与本来的网络恳求相对路径
   String url = "user/info";
   // mock网络恳求的相对路径
   String url = "443/user/info";

YApi的文档:官网地址 教程 内网部署 mock功用

Postman的mock数据教程

创立Mock server:翻开Postman后,能够发现一个Mock Server模块,点击 + 增加一个Mock Server

PostMan mock数据

装备需求mock数据的接口:支持 RequestMethod、RequestUrl、RequestBody、ResponseCode、ResponseBody的装备

PostMan mock数据

PostMan mock数据

这儿我简略的装备一下数据,并点击Next进行下一步

PostMan mock数据

装备Server的参数: 首要装备名称和是否私有server(假如够选了私有Server,则需求生成一个Postman API Key,并装备到 X-api-key 恳求头中 怎么生成API-Key)

PostMan mock数据

创立成功后的返回结果:会给出一个MockUrl,这样一个mock恳求就完成了

PostMan mock数据

测验mock功用:这儿查看mock的数据,我们能够经过访问这个地址来获取数据

PostMan mock数据

规划Android上自动切换mock和实在的网络恳求组件

学习自己构建一个mock数据渠道的最终目标是为了搭建一个能够配合rxjava的动态切换mock和实在数据的网络恳求组件;

根据Retrofit + RxJava的基础上进行魔改,

  • 自定义注解标识需求mock数据的方法,并携带一些mock需求的数据(比如mock后的url、header等);
  • 构建Retrofit对象,在测验环境运用自定义CallAdapterFactory,在出产环境运用RxJava2CallAdapterFactory;
  • 在Factory的get()方法中,找到对应注解并拿到注解上的数据,并阻拦到自定义的CallAdapter中,假如没有则以为不需求mock,返回RxJava2CallAdapter对象去正常的恳求。

关于这个组件,在后续会进行更新。