客户端网络接口优化,合并接口有没有时间延迟,导致失败的可能性?

客户端网络接口优化,合并接口有没有时间延迟,导致失败的可能性?

每次进入首页界面,要调用公司内部各个事业部的接口,

#pragma mark - 初始化用户信息
- (void)initUserData
{
    [self get_userInfo];//登录时已经调用成功,才能进来,所以这里可以不用再调用
    [self getRule];//获取单号规则
    [self getRealNameArea];//获取实名登记的地区
    [self getAppSystem];
    [self getPunchCardInfo]; // 获取打卡状态
    [self updateCardTypes:nil]; // 获取实名证件类型
    [self getWeather];//获取天气
    [self getProblemTypes];
    [self getFetch_ad];//广告
    [self updateSMSCount];//短信模板点击数量上传
    [self updateAddressList:NO failure:^(NSString *failure) {}];//更新省市区地址

}

这个作为 iOS 开发工程师,觉得很不可取。
应该做一个接口合并。

具体,是做一个网关。
合并接口,那个接口的后台服务,调用以上多个接口,整合数据,返回给客户端。

产品说不可能,
因为延迟时间,
客户端的接口,是有时间限制的。
然后上面的多个时间接口,也是有时间限制的。
多包一层,就挂了。
不清楚这是什么逻辑。
不清楚时间有什么影响。
乍一听,感觉很有道理的样子。
怎么破?

产品很有意思。
他还说什么,调用一个接口,挂了,就黄了。
调用多个接口,挂了两,还是能够给用户一些信息。

阅读 2.4k
1 个回答
  • 要看这些接口的关系,如果这些接口都是从一个数据库读东西,一般不会只失败一个,比较适合提供一个总的接口。
  • 如果这些接口的后台比较分散,相互比较独立,可能会出现失败一个的情况。
  • 还有一个方案就是允许其中一些信息获取不到,用一个默认值或者报错信息替代,后台设置一个超时时间,超时后就统一返回默认值或者错误信息
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进