0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单了解APP接口中的版本控制

454398 来源:博客园 作者:奔跑的man 2020-11-03 10:42 次阅读

说说APP接口中的版本控制

引言

接口是APP的重要组成部分,数据是APP的核心,接口是连接APP和数据的纽带。一般情况下,APP中会有大量的接口,再加上版本的变化,接口的升级,一个接口可能会衍生出很多个稍有差异的接口,这个时候接口如果维护的不好,后边会乱为一锅粥,客户端不同版本使用不同的接口名(xxxv1,xxxv2,xxxv3.。。。。)

这个对客户端来说貌似是很蛋疼的事情,如果能把版本控制完全放到服务端是不是更友善点,也会比客户端灵活很多,发版出去之后也可以很优雅的修改。

设计

这个并非我凭空想出来的,是在公司里面开发的时候无意中发现的,觉得设计的还挺好,整理总结了下,拿出来分享下。知识应该是开源共享的。

客户端发出去的版本token是固定不变的。

这里面有下面几个要点:

token,使用token间接的标记请求的接口版本,这么做也在一定程度上防止了很多无用的请求,如果使用的是https传递信息,就更安全了,根本截获不到这个tokenserver中的token =》 interface versionmap,保存了token和对应接口的版本号,请求来了之后会先根据这个寻找对应的接口版本。

interface{num}目录,每个目录对应一个版本,根据请求的接口读取对应目录下的接口配置文件,找到最终要执行的具体接口。

http://xxxx.xxxx.com/module/controller/list?token=6918b5e0567c7d47314c10ed413e3f95这个请求最终会打到listv2这个接口。

这样就可以在服务端灵活的配置接口了,客户端只要每次请求的时候带上默认的token参数,就可以得到自己想要的了,完全不需要关心版本的问题。

扩展设计

当然了,如果还有其他信息的话也可以带在token中,比如说客户端操作系统类型,我们可以将token扩展为{clientType}_token,这样token中就附带了客户端的信息,可以很轻松的获取到客户端类型,根据不同的类型也可以做一些想做的事情。

总结

还是那句话,有些司空见惯的东西并不是想象的那么简单,可能也是前辈门经过多次总结优化出来的。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8612

    浏览量

    151282
  • APP
    APP
    +关注

    关注

    33

    文章

    1574

    浏览量

    72531
收藏 人收藏

    评论

    相关推荐

    了解TYPE-C接口背后的秘密

    TYPE-C接口中主要包含如下信号,主要组成可分PD电源和数据传输两大部分,我们先从电源部分开始了解TYPE-C背后的秘密。
    的头像 发表于 11-18 14:52 3959次阅读
    <b class='flag-5'>了解</b>TYPE-C<b class='flag-5'>接口</b>背后的秘密

    【MiCO分享贴】APP控制单元门锁,简单实用!

    一直对物联网很感兴趣,很幸运第二批申请到了,拿到板子眼前一抹黑除了认识板子,其余什么云什么APP全都是文盲,也不能让板子白瞎了,按教程就做出了这个简单的应用。后续要学的东西很多,抽空会继续研究
    发表于 09-09 09:06

    APICloud SDK新版本发布,开发APP更快更简单

    状态的获取和控制指令的发送。APICloud机智云模块更新说明当前版本变更内容:版本号为1.3.0,原生SDK为2.04.04版本SDK启动接口
    发表于 03-13 18:43

    星途app版本强势来袭,单曲循环无限制

    ,选择退款原因,对订单进行退款申请。 3、新增音乐播放入口新版app新增音乐播放入口,支持后台歌曲播放以及单曲循环控制,为你提供更人性化的听歌体验。 4、新增“关于星途”模块,让你更快更全面了解星途!在
    发表于 07-17 14:50

    如何快速开发一个简单好看的APP控制页面(物联网平台)

    简单好看的控制页面。[ 1、了解机智云物联网平台开源框架 ]在开发一个简单好看的APP控制页面前
    发表于 07-01 14:46

    如何使用官方提供的APP控制多路接口

    上一期介绍了如何使用语音助手控制多路接口,这一期将为大家介绍如何使用官方提供的APP控制多路接口。1、A
    发表于 11-03 08:51

    请帮助了解SDK版本或任何为I2C接收和传输启用FACK的参考代码?

    我们在从机上使用带有 I2C 接口的 MKL27Z 微控制器。 SDK(参考源代码)确实禁用了 FACK,但是我们正在寻找 FACK 启用,以便 ACK/NACK 可以成为 I2C 接口中
    发表于 06-01 08:38

    脑机接口中基于VxWorks的ARM嵌入式系统

    脑机接口中基于VxWorks的ARM嵌入式系统
    发表于 03-29 12:27 15次下载

    APP接口版本不兼容怎么办? 教你一招

    iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改。新的APP接口开发后,接口如何兼容老的
    发表于 05-29 01:31 8283次阅读
    <b class='flag-5'>APP</b><b class='flag-5'>接口</b><b class='flag-5'>版本</b>不兼容怎么办? 教你一招

    ADC时钟接口中的最小抖动

    ADC时钟接口中的最小抖动
    发表于 05-09 12:19 6次下载
    ADC时钟<b class='flag-5'>接口中</b>的最小抖动

    使用Blinker APP+NodeMCU控制多路接口

    上一期介绍了如何使用语音助手控制多路接口,这一期将为大家介绍如何使用官方提供的APP控制多路接口。1、A
    发表于 10-28 12:36 13次下载
    使用Blinker <b class='flag-5'>APP</b>+NodeMCU<b class='flag-5'>控制</b>多路<b class='flag-5'>接口</b>

    为什么要在串行通信接口中设置地线呢

    在串行通信接口中,为何要设置地线?
    的头像 发表于 02-02 17:47 3300次阅读

    几种不同的物联网控制APP模式

    本文就简单介绍当前几种物联网控制APP模式,让大家了解几种不同的技术路线。
    的头像 发表于 04-10 10:58 4574次阅读
    几种不同的物联网<b class='flag-5'>控制</b><b class='flag-5'>APP</b>模式

    AN5507_STM32H7 系列闪存接口中的循环冗余校验

    AN5507_STM32H7 系列闪存接口中的循环冗余校验
    发表于 11-21 08:11 0次下载
    AN5507_STM32H7 系列闪存<b class='flag-5'>接口中</b>的循环冗余校验

    接口中的有效数据类型和布局

    接口中包含有块所用局部变量和局部常量的声明。这些变量可分为以下两组。
    的头像 发表于 06-10 11:33 1008次阅读
    块<b class='flag-5'>接口中</b>的有效数据类型和布局