云原生架构--Restful API版本设计

云原生

1.事情总是会改变的,这才是唯一不变。

2.客户端和服务器端应该提供一定灵活性,来降低对变化的敏感。

3.客户端可以使用JSON-Path来获得需要的数据

4.服务器端对参数“宽容”,可以容忍参数中存在自己不需要的其他信息。

5.服务器端的改变应该是渐进式和附加式的,而不是破坏式的。

6.使用“语义版本号”。形如MAHOR.MINOR.PATCH

  • MAHOR版本号只有在API不兼容以前版本时才更改
  • MINOR版本号在API发生改变单客户端还能继续使用时更改
  • PATCH版本号更改,表示对现有功能错误的修复

7.当多个版本的API共存时,建议只在一个代码库中提供不同版本的API

8.可以将旧版本的请求,转发到新版本API

9.客户端需要告诉服务器,使用那个版本API进行通信。restful API有以下方法:

  • 在URL中增加版本号
  • 将版本号放到http的头信息中
  • 将版本号方法哦请求Accept头信息的内容类型中

你可能感兴趣的:(云原生架构--Restful API版本设计)