我已经评估了 REST api 的许多版本控制模式(标头、url、...)。到目前为止,最可靠的方法似乎是 url 选项:它适用于代理,并且不依赖于晦涩的模式,例如版本控制的日期。
现在,当我环顾四周时,每个使用基于 url 的方法的人似乎都使用诸如v1
、等版本v2
。没有人使用次要版本,甚至没有使用语义版本控制等模式。
这提出了一些问题:
- 你什么时候增加 REST API 的版本号(当然,你对它的更新比五年一次的要多)?
- 如果您只是修复错误,您可能不会增加版本号,但是您如何区分两个版本?
- 如果您使用非常细粒度的方法,您最终会得到很多需要并行托管的版本。你怎么处理?
换句话说:像 GitHub 这样的公司如何做到只有v3
今天(2015 年),而他们已经经营了 7 年?这是否意味着他们实际上只更改了两次 API?我简直不敢相信。
有什么提示吗?