码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 调用API接口的一些注意技巧


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

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

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

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

    图片

    而在错误请求时:

    图片

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

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

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

  • 相关阅读:
    AR Engine运动跟踪能力,高精度实现沉浸式AR体验
    基于Unity默认烘焙系统产出Ambient Occlusion, Sky Occlusion等数据
    腾讯发布 2022 年季度财报,员工月薪 85473 元,网友看完炸了...
    Redis/Mysql知识概述
    免费采集器-网页数据采集器
    微服务:微智能在软件系统的简述
    零售创新:社交媒体如何改变跨境电商游戏规则?
    8.12 矢量图层面要素单一符号使用二(仅渲染中心点)
    数据结构与算法之LeetCode-513. 找树左下角的值 - 力扣(DFS,BFS)
    告别EXCEL,易点易动库存管理系统帮助企业提升固定资产管理效率
  • 原文地址:https://blog.csdn.net/API_mylove/article/details/132707617
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号