ylbtech-Jasper:API / 后向兼容性
1.返回顶部
1、

后向兼容性

为了给客户提供创新的业务解决方案,Cisco Jasper 会定期扩展我们 API 框架的功能。我们会尽最大努力确保大多数 API 变更都可以后向兼容,使您无需在我们每次更改框架之后更新您的代码。后向兼容的变更包括:

  • 向 API 服务添加 API 接口
  • 向 API 接口添加方法
  • 向方法添加 HTTP 绑定
  • 向请求消息添加字段
  • 向响应消息添加字段
  • 向枚举添加值
  • 添加仅输出资源字段

后向兼容的变更不会对符合最佳做法的应用程序产生影响。

编码指南

即使我们用上述某个后向兼容的变更更新了 API 框架,遵守下述编程指南的应用程序代码仍能继续正常运转。这些指南适用于使用 Control Center 的 REST API 和 SOAP API 的程序以及那些对来自 Control Center 推送 API 的消息进行解析的程序。

  • 切勿对逻辑进行硬编码以匹配特定的参数顺序。
  • 确保您的代码符合 HTTP 标准。该标准包括多个默认和可选参数,并且不断发展演变,经常出现新的标头和参数。
  • 在进行字符串匹配之前,确保使用标记化来分隔标记
  • 在行的结尾处利用回车+换行符 (CRLF) 组合来提示没有更多要处理的标记。
  • 根据数据类型对数据应用适当的转换。
  • 始终在匹配逻辑中使用默认的“获取全部”以获取意外错误。

例如,假设您要解析 HTTP 标头中的 Content-Type 标记并基于该信息处理有效负载。一种方法是解析有效负载,查找与 content-type=application/x-www-form-urlencoded 精确匹配的字符串。不过,在将来的某个时候,Cisco Jasper 可能会决定使用可选参数 charset=UTF-8,这会将标记行更改为 content-type=application/x-www-form-urlencoded ; charset=UTF-8。HTTP 响应标头字符串中的这一变更会中断期望收到相同字符串的解析器代码。

更好的做法是分解标记,密切关注换行符和回车序列,放入错误捕获情景,等等。此特定标记在 HTTP 1.1 RFC2616(第 21 页)中定义为 <charset :token>,其中 charset 由 IANA 字符集注册表定义,Content-Type 是其中一个字符集。

要为 URL 编码形式的数据编写解析器,请参考万维网协会 (W3C) 的相关说明。

不可后向兼容的变更

尽管 Cisco Jasper 尽力确保大多数 API 变更都可以后向兼容,但有时冲突不可避免。不可后向兼容的变更包括:

  • 删除或重命名服务、接口、字段、方法或枚举值
  • 更改 HTTP 绑定
  • 更改字段类型
  • 更改资源名称格式
  • 更改现有请求的可见行为
  • 更改 HTTP 字义中的 URL 格式
  • 向资源消息添加读取/写入字段

Cisco Jasper 会在不可后向兼容的变更生效前至少提前六个月向运营商发出通知。该通知将包括变更的具体信息,以及如何在不中断服务的情况下升级代码的指导说明。

API 版本

每个 API 函数都有一个版本号,用于标识 API 的结构和行为。Cisco Jasper 会在以下情况下递增此版本号:

  • 函数收到不可后向兼容的变更,而且
  • 前一版本的函数仍受支持。

如果 Cisco Jasper 进行后向兼容的函数变更,同时对前一版本的支持将会停止,则版本号保持不变。有关每种 API 类型的版本号,请参阅详细文档。

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
 
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Jasper:API / 后向兼容性的更多相关文章

  1. [整理]IIS 6.0 下部署 Asp.net MVC Web Api 后 HTTP PUT and DELETE 请求失败

    http://guodong.me/?p=1560 ASP.NET MVC 4 has a new feature called WebAPI which makes it much easier t ...

  2. 部署Web API后Delete请求总是报 405(Method Not Allowed)解决办法

    WebDAV                   安装IIS的时候如果选择了WebDAV(Web Distribution Authorization Versioning) Publish,则所有的 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. 开源软件:NoSql数据库 - 图数据库 Cassandra

    转载原文:http://www.cnblogs.com/loveis715/p/5299495.html Cassandra简介 在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了 ...

  5. Atitit.提升api兼容性的方法 v3 q326

    Atitit.提升api兼容性的方法 v3 q326 1. Atitit.兼容性的“一加三”策略1 2. 2. 扩展表模式1 3. 3. 同时运行模式1 3.1. 3.1. 完美的后向兼容性2 3.2 ...

  6. c/c++ socket API 调用后的错误判断 perror errno

    socket API 调用后的错误判断 perror errno 调用完socket API后,需要判断调用是否成功与失败.如果失败,会自动设置errno(是个整数), 并且用perror可以打印出具 ...

  7. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  8. Atitit.软件兼容性原理与实践 v5 qa2.docx

    Atitit.软件兼容性原理与实践   v5 qa2.docx 1. Keyword2 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改 ...

  9. Google 地图 API V3 针对移动设备进行开发

    Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...

随机推荐

  1. 树莓派 Zero W——随身钥匙扣

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正确的格式显示,请访问我的博客原文: http://www.cnblogs.c ...

  2. S3C2440 IIS操作 uda134x录放音

    IIS(Inter-IC Sound)由飞利浦公司开发.是一种经常使用的音频设备接口,主要用于CD.MD.MP3等设备. s3c2440一共同拥有5个引脚用于IIS:IISDO.IISDI.IISSC ...

  3. python(15)- 装饰器及装饰器的使用

    装饰器 1.无参数 2.函数有参数 3.函数动态参数 4.装饰器参数 装饰器的应用 下面题目同http://www.cnblogs.com/xuyaping/p/6679305.html,只不过加了装 ...

  4. Windows socket I/O模型 之 select(2)

    在Windows socket I/O模型 之  select(1)中.我们仅仅是在console中简单的模拟了select的处理方法. 还有非常多特性不能改动.比方仅仅能写,不能读. 没使用线程.也 ...

  5. mdadm

    http://en.wikipedia.org/wiki/Mdadm mdadm From Wikipedia, the free encyclopedia     mdadm Original au ...

  6. 轻松搞定RabbitMQ(五)——路由选择

    转自 http://blog.csdn.net/xiaoxian8023/article/details/48733249 翻译地址:http://www.rabbitmq.com/tutorials ...

  7. 运维基础-Linux发展史、安装、基本操作

    Linux是目前互联网运维.大数据.云计算方向首选操作系统平台,能够在物理服务器Dell.hp.等server,以及当前主流的云平台,阿里云,腾讯云上面部署 发展史 . . .略过..... 物理服务 ...

  8. vue入门-常用指令操作

    指令:v-xx组成的特殊指令,如果一个标签中有指令会默认替换原有的书 v-model:实现数据和视图的双向绑定 v-text:在元素中插入值 v-html:在元素中插入标签或者插入文本 v-if:根据 ...

  9. xpath 轴,节点之间的关系

    http://www.w3school.com.cn/xpath/xpath_axes.asp http://www.freeformatter.com/xpath-tester.html 测试 轴可 ...

  10. 九度OJ 1129:Skew数 (大数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:734 解决:548 题目描述: 在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1).  每个位上的可能数字是0 ...