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


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

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

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

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

    图片

    而在错误请求时:

    图片

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

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

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

  • 相关阅读:
    微信怎么使用手机号码收款转账?
    个人的微信公众号如何变更主体?
    项目成本管理软件能为你做什么?
    苍穹外卖——项目搭建
    阿里菜鸟面经 Java后端开发 社招三年
    shell [stdin/stdout/stderr][重定向]
    第一周 一起走进摄影世界
    基于分步表单的实践探索
    自动化测试如此容易!多语言自动化测试框架 Selenium 编程(C#篇)
    C语言创建txt并循环写进字符
  • 原文地址:https://blog.csdn.net/APItesterCris/article/details/132755381