iOS开发mock接口数据(一)之需求分析
来源:互联网 发布:开淘宝店30保证金吗 编辑:程序博客网 时间:2024/06/08 14:24
在大团队开发的过程中,很多时候后台往往先定义好接口文档,然后后台去开发接口,前端开发app。并行开发,提高开发效率。下面给大家分享一下我们团队中使用的mock机制
mock数据有两种方式, 一种是后台建立mock数据服务器,另一种是app开发者,在项目中自己维护。目前我们采用的是放在自己的项目中来维护的。
mock要实现的目标
面向AOP编程开发
由于mock数据,在接口联调完毕后就要被抛弃掉,如果数据是是散落在代码中的话,我们就要一点一点的移除,如果不移除的话后期可能会影响到我们的代码逻辑,很不友好。
开关机制
在我们的工程中,有一个开关,可以控制是否打开mock数据机制,进行mock 操作。
个性化操作
在我么开发的过程中,我们会存在一部分接口需要使用mock数据,也有一部分接口不需要mock数据,这个时候要求我们能够做到个性话的操作,允许对单个接口进行是否进行mock操作进行处理。
具体实现
经过分析,我这里先来说说如何使用面向AOP编程的思想来对接口进行mock操作。NSURLProtocol iOS开发的利器,几乎可以拦截应用内所有的网络请求(WKWebview除外)
NSURLProtocol 可以实现:
1)重定向网络请求
2)忽略网络请求,使用本地缓存
3)自定义网络请求的返回结果
4)一些全局的网络请求设置
我们这里主要是使用自定义网络请求的返回结果的功能。
使用前要进行相关的注册
@interface JKURLProtocol : NSURLProtocol@end- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //注册protocol [NSURLProtocol registerClass:[JKURLProtocol class]]; return YES;}
常用的几个方法如下:
+canInitWithRequest://是否处理对应的reuest,默认为NO
+canonicalRequestForRequest:+(NSMutableURLRequest*)redirectHostInRequset:(NSMutableURLRequest*)request//通常该方法你可以简单的直接返回request,但也可以在这里修改request,比如添加header,修改host等
+requestIsCacheEquivalent:toRequest://主要判断两个request是否相同,如果相同的话可以使用缓存数据,通常只需要调用父类的实现。
-startLoading -stopLoading//这两个方法主要是开始和取消相应的request,而且需要标示那些已经处理过的request。
这里我就不在这里一一的说明了,网上讲解的文章很多,我参考的文章如下:参考博客地址
0 0
- iOS开发mock接口数据(一)之需求分析
- iOS开发mock接口数据(三)之实战教程
- iOS开发mock接口数据(二)之网络请求匹配
- 系统开发之需求分析--心得体会(一)
- iOS开发之数据传递(一)
- iOS开发之数据存储(一)
- 软件研发之需求分析(一)
- ios助手开发系列(一):需求分析以及技术调查
- 软件工程之需求分析(一)
- Android学习 游戏开发之打地鼠(一,需求分析与设计)
- web开发之需求分析
- vue实现app问题总结(一)vue-cli本地开发数据Mock
- 抽奖程序开发(一)——需求分析
- iOS开发之数据存取(一)——SQLite
- iOS路由跳转(二)之需求分析
- fiddler实现后端接口 mock(不需要修改开发代码)
- 产品经理之产品需求分析(一)
- 项目开发感悟记录一:需求分析
- Digital Image Processing---【形态学图像处理】
- css动画性能优化
- ajax常用方法
- logstic 回归好文章
- CSS中清除浮动的作用以及如何清除浮动
- iOS开发mock接口数据(一)之需求分析
- 仿知乎日报(2)_欢迎页面
- linux下查看进程启动、运行的时间
- Android studio常用快捷键
- poj1753和2965题(棋盘上的棋子翻转最后达到同一状态)
- Visual Studio中计算C/C++程序运行时间
- BFS(2)-非常可乐
- 快速幂-Θ(logn)算法
- Android Studio卡在refreshing gradle project的原因和快速解决办法