RESTful之API版本控制

来源:互联网 发布:青天白日徽章淘宝 编辑:程序博客网 时间:2024/05/14 07:32

在日常移动端开发中,随着业务需求的不断变化,我们的接口返回的数据就会有各种变动,但由于native语言开发的应用无法动态更新api,在修改接口返回数据改变接口逻辑的同时还要确保旧版本的兼容,因此就用到了接下来要说的API版本控制。


RESTful架构

RESTful全称Representational State Transfer,其架构特性为
1. 每个url代表某种资源
2. 资源通过特定的形式展现例如json
3. 使用http协议的get、post、delete、put等操作服务器资源

想要具体了解参考理解RESTful架构


版本控制方式

  1. 强制使用统一API版本

    整个项目使用一个API版本,不考虑兼容性,缺点

  2. URI中显式添加版本号

    把版本号嵌入到API中,例如developer.github.com/v3/media/,
    访问操作对应版本号下的资源。这种显示的表示版本号的好处是可以很直观的
    展示当前api版本号。缺点是违背RESTful架构的原则,理论上一个URI对应服
    务器一个特定的资源,添加版本号则会混淆版本和资源的概念,而且会让整个
    架构变得混乱,增加日后维护的成本。 还有一种是把版本号作为参数请求api
    获取操作对应版本号的资源,例如www.demo.com/list?version=2。

  3. 添加头信息控制版本

    在API请求header中添加Accept字段。
    Accept的作用是客户端指出响应可以接受的媒体类型
    如Accept:application/json; version=v2
    具体格式也可以参考下面。

    Accept: application/vnd.xxxx[.version].param[+json]

    例如Accept: application/vnd.demo.app-v2+json
    优点:遵循了REST的原则
    缺点:不够直观

总结

通过上述简单的分析,每种版本控制都有不同的优缺点,我们可以选择合适自己的版本控制方式,个人认为小版本的更新可通过把版本号作为参数的方式或者通过accept字段标示版本号的方式判断,大的版本更新则通过URL上添加版本号控制

API Versioning

Media Types

Versioning with REST framework

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孩子一只耳朵听不到声音怎么办 孕早期孕囊生长慢怎么办 试管2次不着床怎么办? pescm球员年龄大了怎么办 实况足球俱乐部经理球员老了怎么办 你不是我的菜怎么办 苹果平板电脑耳机有回音怎么办 obs直播有电流音怎么办 语音里网吧很吵怎么办 电脑k歌有延迟怎么办 想开个跆拳道馆怎么办营业执照? 壶嘴拐弯处漏水怎么办 裂纹茶壶嘴坏了怎么办 小孩刚上学怕她上火怎么办 在幼儿园小朋友不愿叠衣服怎么办 孩子在家听话幼儿园不听话怎么办 变魔术时观众说看过这个怎么办 孕妇8个月摔跤了怎么办 孩子吃了残奶怎么办 小米手机变卡了怎么办 主持时说错话了怎么办 小鲜肉老了不红怎么办 同学聚会大家玩手机你怎么办 率土之滨被掠夺怎么办 戒指戴手上取不下来怎么办 择离开我我该怎么办 解小手解不出来怎么办 学生把班里的班费弄丢了怎么办 班里选的班长成绩差怎么办 幼儿园班里孩子发生传染病怎么办 小仓鼠生了该怎么办 把老公生日忘了怎么办 老公说老婆脑子不好怎么办 和上司暧昧被同事发现怎么办 减肥不吃晚餐饿了怎么办 小孩晚饭吃多了怎么办 减肥晚上不吃饭饿了怎么办 两个人在一起性格不合怎么办 赌在你身上输了怎么办 苹果7lcould满了怎么办 e招贷不用了怎么办