影响rest api版本选择的因素
以下因素会影响REST版本控制的选择:
URI污染 - URL版本和请求参数版本控制会污染URI空间
滥用HTTP标头 - Accept Header不适用于版本控制
缓存 - 如果使用基于标头的版本控制,无法仅根据URL进行缓存。需要考虑特定的标头
我们可以在浏览器上执行请求吗? - 如果您有非技术消费者,那么基于URL的版本将更容易使用,因为它们可以直接在浏览器上执行。
API文档 - 如何让生成的文档自己识别两个不同的URL是同一服务的不同版本?
事实是没有完美的版本控制方案。
下面的列表显示了使用不同版本控制方法的主要API提供商。
媒体类型版本控制(又名“内容协商”或“接受标题”):
GitHub
(自定义)标题版本控制:
微软
URI版本控制:
推特
请求参数版本控制:
亚马逊