美文网首页
后台接口的坑&容错处理

后台接口的坑&容错处理

作者: dvlproad | 来源:发表于2017-08-02 11:19 被阅读158次
坑1:给你看似"正确的值",但类型错误,需要仔细观察,后根据类型操作

给你看似"正确的值",但类型错误,如图:


给你看似"正确的值",但类型错误.png

如图,当你没注意到类型已经变化的时候,如果这是你还采用for语句去获取你认为还是数组的client_menu的时候,就基本上会出现崩溃了。所以,如果遇到崩溃的时候,还需需要仔细检查返回的类型是否有问题(自己之前就遇到过测试环境和正式环境返回的类型不一样的问题,而导致崩溃)。

NSMutableArrayNSMutableDictionary一个是可变数组,一个是可变词典,两者都可以通过for语句来取值。

for (<#type *object#> in <#collection#>) {
    <#statements#>
}

不同的是,
①可变数组NSMutableArray通过for (<#type *object#> in <#collection#>) 时,取到的object就是数组里的元素
②而可变词典NSMutableDictionary通过for (<#type *object#> in <#collection#>) 时,取到的object就是词典里的key

附:NSMutableDictionary的枚举方法

//一般枚举方法
NSArray *keys = [dic allKeys];
NSInteger length = [keys count];
for (NSInteger i = 0; i < length;i++) {
     id key = [keys objectAtIndex:i];
     id obj = [dic objectForKey:key];
     NSLog(@"%@", obj);
}

//快速枚举方法
for (id key in dic) { //注意这里取到的object就已经是key了
     id obj = [dic objectForKey:key];
     NSLog(@"%@", obj);
}

//通过枚举类型枚举
NSEnumerator *enumerator = [dic keyEnumerator];
id key = [enumerator nextObject];
while (key) {
        id obj = [dic objectForKey:key];
        NSLog(@"%@", obj);
        key = [enumerator nextObject];
}
坑2:服务器返回数据看起来一样,实际多了写没用的特殊字符,需要去掉

如果我们的后台接口返回的数据有加密,那我们自然要对加密的数据进行解密,但解密之前,我们必须先确保服务器返回的数据没有多余的特殊字符,否则会解密失败。
下面这个例子,是测试环境的时候我们去掉了多余的\n,但是正是环境的时候却发现还有\r要去掉。之前就是没发现服务器返回的数据不一样(虽然可能看起来一样,但是多了特殊字符),而导致的错误。所以这里我们把所有的特殊字符\r\n都去掉即可。

686CF33F-4E32-43C7-A5D4-37F8D19B524C.png
坑3:待补充

容错处理

其他容错处理运用runtime黑魔法,异常处理等就可以处理了,老生常谈,就不详细介绍了。
以下是一个参考例子: ios 容错处理JKDataHelper和AvoidCrash

完!

相关文章

  • 后台接口的坑&容错处理

    坑1:给你看似"正确的值",但类型错误,需要仔细观察,后根据类型操作 给你看似"正确的值",但类型错误,如图: 如...

  • 数据安全:后台接口中一些看似多余的参数

    后台接口开发与前端开发有不少不同,在并发、性能、容错、安全等方面都需要有一定的考虑......而且由于后台接口往往...

  • 测试接口测试要点

    1、检查接口返回的数据是否与预期结果一致 2、检查接口的容错性,假如传递数据的类型错误时是否可以处理 3、接口参数...

  • nodeJS的简单后台

    AJAX处理数据交互中必不可少的就是后台接口,即url。而这个接口到底是怎么接到后台,后台又如何运作的呢。接下来的...

  • 关于docker容器时间同步的问题。

    先留个坑 问题描述先,docker里面有个Tomcatcat,映射放入后台程序,然后有个接口需要前端后台时间配合验...

  • 网页设计 - 收藏集 - 掘金

    免费且又精致的 HTML/CSS 站点模板 - 前端 - 掘金&amp;amp;amp;amp;amp;l...

  • 关于react-router和后端路由以及静态文件处理问题

    关于项目 前端用的react-router,后台用的koa,后台只提供接口, 问题 将项目发布到线上koa如何处理...

  • 2017.10.13

    一.通讯录后台接口调整 二.js return爬坑 return ;这样写换行导致返回的为undefined;主...

  • 2018-08-04

    基于百度语音的后台播放功能 1.本月在处理iOS的后台语音问题时,遇到了一些坑,特将此分享出来,避免大家再次入坑。...

  • 解决axios后台无法获取参数的问题

    使用axios传递参数时,后台处理接口的方式不同,导致前端的数据,后台接受不到。代码如下: 比如上面的代码,前端传...

网友评论

      本文标题:后台接口的坑&容错处理

      本文链接:https://www.haomeiwen.com/subject/zerelxtx.html