日常开发中, 我们经常需要对接到其他三方数据接口, 以天气API接口为例, 如何调用接口才更合理。
前言
介绍各端调用接口更安全、更灵活的解决方法。
一、APP端调用
安卓、ios代码里尽量不要直接请求天气接口
- 方案1, 通过服务端转发接口请求, 不要在C端直接请求接口
- 方案2, 如果必须写在C端, 请这样操作
APP在请求初始化配置接口的时候,把天气API的接口线路写在配置字段中
, 如果遇到接口网络问题, 方便切换到正常线路
天气API提供了多线路,
线路1(推荐):http://v0.yiketianqi.com/api
线路2:http://v1.yiketianqi.com/api
二、小程序端调用
- 通过服务端转发接口请求, 不要在从小程序里直接请求接口
三、前端Vue、jquery调用
- 通过服务端转发接口请求, 不要在从小程序里直接请求接口
四、后端Java、PHP调用
后端尽量不要实时请求天气接口, 后端这块相对灵活, 做好数据缓存就可以了, 如果天气接口访问不通, 可更换线路
- 城市表导入到本地数据库
- 打开定时器Timer更新天气数据 , 不要批量更新, 1秒执行一个城市就可以
- 抓取到的天气数据写入本地缓存, cityid做为key
- 后端页面请求的时候, 读取本地天气数据缓存展示
- 前端、安卓、ios请求天气数据的时候, 也从本地缓存读取
总结
C端直接请求天气接口可能会造成网络堵塞,假入三方接口数据字段内容或结构有变动, 会导致程序报异常或APP出现闪退,我们应该把数据接口放到后端可控制的。