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

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.
主站蜘蛛池模板: 江川县| 海门市| 开鲁县| 中牟县| 横峰县| 安阳县| 桃源县| 陈巴尔虎旗| 宁安市| 临江市| 芮城县| 年辖:市辖区| 久治县| 监利县| 定州市| 仪陇县| 青河县| 英山县| 霍城县| 罗定市| 襄垣县| 鲁甸县| 广西| 含山县| 韶山市| 河北区| 黎平县| 洛南县| 衢州市| 肥城市| 通城县| 保靖县| 沙坪坝区| 大姚县| 石门县| 灌南县| 铁岭市| 盘锦市| 江山市| 普陀区| 门源|