调用API接口的一些注意技巧

在实践中我们经常发现,很多同学都是直接请求调用和读取接口数据,而没有做状态码的判断,这在设计角度是非常不合理的。 另外,对于一些实时性要求不高的接口,更合理的做法应该是先把数据拉到本地缓存,再从缓存里读取数据展示给前台用户。

一、调用接口前必须先判断状态码

永远不能假设网络是通畅的,即使BAT等互联网大厂还是国字开头的大型企业,网络故障时有发生。尽管我们采取了一系列的技术手段来避免此类情况的发生,但一些计划外的网络故障依然无法彻底避免。因此,如果没做好HTTP网络状态码的判断,可能会导致你的项目产出意外的崩溃事件。除了HTTP状态码外,调用天行数据时,无论成功失败都会返回一个表示接口状态码的字段code和描述信息msg,方便大家判断当前请求接口时的各种状态。只有code等于200,才进行下一步的逻辑。更严谨一点的话,应该对你将读取的字段进行非空或者类型判断。

例如“土味情话”接口,在正常请求并成功返回数据时,code=200:

图片

而在错误请求时:

图片

所有状态码的解释在接口文档、接口申请、接口调试、调用记录页面都可以查到。

二、建议先调用接口数据到缓存

有些接口,例如“天气预报”,实时性要求并不高,不会一直都有更新。你完全可以每10分钟或者半小时调用一次接口,把接口返回的数据先setData(写入缓存),前台界面只读本地缓存里的数据而不是直接读API接口。这么做的好处,一是本地只读效率更高也更快,二是万一接口有问题,包括请求次数不足、超频等等,不会把接口错误直接抛给用户。正确的做法应该是,每次请求时进行一个当前time(时间)的判断,当缓存里的time小于当前time超过10分钟或半小时,就重新请求接口更新缓存里的数据。这样,无论是用户自己的网络有问题,还是API接口有问题,在用户看来都是毫无感知的,只有频繁打开才会发现似乎天气信息没变化而已。你可以做一个手动更新的按钮,并给出更新成功或者失败的提示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值