官术网_书友最值得收藏!

Semantic versioning

Microservices should implement the Major versioning scheme. Quite often, designers will elect to only implement a Major version number and imply .0 for the minor version as according to the semantic versioning principles http://semver.org a Minor version would generally indicate the addition of functionality that has been implemented in a backwards compatible way. This could be adding additional endpoints to your API. It can be argued that since this would not affect the client's ability to interact with your API you should not worry about Minor versions and only concentrate on major as the client will not need to request a particular version without these additions in order to function.

When versioning APIs I think it is cleaner to drop the minor version and only concentrate on major version. We would take this approach for two reasons:

  • The URI becomes more readable, and dots are only used as network location separators. When using an RPC API dots are only used to separate API.VERSION.METHOD and make everything easier to read.
  • We should be inferring through our API versioning that change is a big thing and has an impact on the function of the client. Internally we can still use Major.Minor; however, this does not need to be something to the client as they will not have the capability to elect to use minor versions of the API.
主站蜘蛛池模板: 故城县| 台中县| 廉江市| 南康市| 西吉县| 云南省| 甘洛县| 紫阳县| 绵阳市| 安义县| 灵台县| 岳西县| 镇巴县| 太原市| 徐州市| 兰考县| 视频| 内江市| 盈江县| 新龙县| 苏尼特左旗| 濮阳市| 桃江县| 夏河县| 鸡泽县| 阿坝| 瓦房店市| 阿鲁科尔沁旗| 闽清县| 门源| 翁牛特旗| 霍林郭勒市| 台州市| 海宁市| 弥渡县| 桂阳县| 邵阳县| 桂东县| 镶黄旗| 泽普县| 忻城县|