影响rest api版本选择的因素

以下因素会影响REST版本控制的选择:

URI污染 - URL版本和请求参数版本控制会污染URI空间

滥用HTTP标头 - Accept Header不适用于版本控制

缓存 - 如果使用基于标头的版本控制,无法仅根据URL进行缓存。需要考虑特定的标头

我们可以在浏览器上执行请求吗? - 如果您有非技术消费者,那么基于URL的版本将更容易使用,因为它们可以直接在浏览器上执行。

API文档 - 如何让生成的文档自己识别两个不同的URL是同一服务的不同版本?

事实是没有完美的版本控制方案。

下面的列表显示了使用不同版本控制方法的主要API提供商。

媒体类型版本控制(又名“内容协商”或“接受标题”):
GitHub

(自定义)标题版本控制:
微软

URI版本控制:
推特

请求参数版本控制:
亚马逊