PostMan mock数据

4,483 阅读4分钟

目录

  • 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

image.png

配置需要mock数据的接口:支持 RequestMethod、RequestUrl、RequestBody、ResponseCode、ResponseBody的配置

image.png

image.png

这里我简单的配置一下数据,并点击Next进行下一步

image.png

配置Server的参数: 主要配置名称和是否私有server(如果够选了私有Server,则需要生成一个Postman API Key,并配置到 X-api-key 请求头中 如何生成API-Key

image.png

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

image.png

测试mock功能:这里查看mock的数据,我们可以通过访问这个地址来获取数据

image.png

设计Android上自动切换mock和真实的网络请求组件

学习自己构建一个mock数据平台的最终目标是为了搭建一个可以配合rxjava的动态切换mock和真实数据的网络请求组件;

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

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

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