API开发的版本控制技巧

API开发的版本控制技巧

版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/42779095

《API开发的版本控制技巧》

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

在设计和构建API时,API的版本控制是非常重要的。

必须确保新API对于现有的API不会造成破坏。

首先,也是最重要的,可以把版本号放入API的URL中。这样可以把主要版本更新放入API。比如,我们在调用CHUser Center API时,可以在URL中使用/api-v1或/api-v2来指出所使用的API版本。这是很常见的做法。

在API版本控制中,还有一点也很重要。希望API能支持次要版本的更新。次要版本更新所造成的变化仍然会影响接口,因此有可能会影响当前API的使用者,但它们与主版本的URL和API的基本功能都在变化不同,URL和API基本功能仍然是相同的。比如在CHUser Center API,次要版本的修改是通过客户在API调用时发起请求的HTTP头部做指定的。

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

头部的版本元素看起来是这样的:

Element-Version: 1

再举一个API次要版本更新的例子,如果我们想修改响应的JSON字段的名称。假设我们有一个名为GET /people的API调用,它会返回以下JSON数据:

{

  “firstN”: “foo”

}

我们决定把JSON字段中的firstN改成firstName。很显然,这只是一个小改动,所以它属于API次要版本更新的范畴,无须做主版本的修改和不同的URL签名。因此,我们会创建另一个GET /people接口,要调用它还需要在HTTP头部加上

Element-Version: 2

然后就会返回以下JSON数据:

{

  “firstName”: “foo”

}

在CHUser Center API中,当一个新用户注册后,我们会设置此用户的HTTP头部默认为CHUser Center上最新的Elements-Version版本。这可以保证新用户总是使用我们提供的最新API服务,这样就无须在每次API调用时指定任何HTTP头部元素了。当然,也可以手动指定版本。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109587.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超链接样式设置「建议收藏」

    超链接样式设置「建议收藏」顺序不能颠倒,按如下设置:a:link{ color:red;}a:visited{ color:green;}a:hover{ color:black;}a:active{ color:blue;}

    2022年7月19日
  • ui bug_行为测试

    ui bug_行为测试在大多数开发、测试眼中,UI测试的重要性远小于功能测试、性能测试等,但只要够细心,总能发现一些UIbug或者UI可以改进的地方提高用户体验。录入界面  1.1输入字段要完整,且要与列表字段相符合(参照数据库进行检查)  1.2必填项一律在后面用*表示(必填项为空在处理之前要有相关的提示信息)  1.3字段需要做校验,如果校验不对需要在处理之前要有相关的

    2022年10月30日
  • THINKPHP and or 模板语句书写

    THINKPHP and or 模板语句书写THINKPHP and or 模板语句书写

    2022年4月21日
  • JQuery 简单实现折叠菜单

    JQuery 简单实现折叠菜单

    2022年3月12日
  • HorizontalScrollView 自动滑动「建议收藏」

    HorizontalScrollView 自动滑动「建议收藏」从事开发Android,坑人的就是设备的差异性,相同的功能在相同的生产厂商不同的版本设备,或者是不同的生产厂商的设备实际效果具有差异性,最近在项目里面用到HorizontalScrollView功能,里面有10个按钮,要把其中第四个按钮移动到最左边,这个功能倒是很好实现,方法也很多,使用ScrollTo一类的函数就可以实现,在其他的手机设备上很好,没有问题,但是在索尼SonyErissson这

    2022年7月26日
  • EJB学习纪要

    EJB学习纪要为什么会突然要看看EJB这个老古董?前段时间准备再看看Spring的东西,当然就免不了要看一下Spring作者那本导致Spring模型的大作。其中说到Spring是在批判EJB的背景下产生的。所以,就得看看EJB这玩意儿到底搞了什么东西,粗略浏览了下目录,哗!EJB2太复杂了,算了,先从后面简化过了的EJB3看起吧,完了再反过来看看2是个什么样子。这回答真够曲折的,都快忘了当初的想法了,…

    2022年9月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号