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

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.
主站蜘蛛池模板: 手游| 台江县| 建宁县| 清镇市| 岳西县| 泗阳县| 贵州省| 咸阳市| 陈巴尔虎旗| 温宿县| 新河县| 金堂县| 麦盖提县| 繁昌县| 凭祥市| 揭东县| 泽库县| 尉犁县| 宣汉县| 习水县| 华容县| 班玛县| 浪卡子县| 克东县| 当雄县| 吴堡县| 香河县| 临泽县| 乌拉特中旗| 文安县| 略阳县| 新营市| 石阡县| 辽阳县| 盈江县| 鹤峰县| 高邮市| 喀喇沁旗| 寿阳县| 漳州市| 吴堡县|