我已经为User创建了API,作为响应,我需要包含此API的版本号。是好的方法还是应该仅在请求中遵循版本号?
答案 0 :(得分:1)
请参见REST API Versioning(restfulapi.net/versioning /):
URI版本控制
使用URI是最简单的方法(而且 也是最常用的),尽管它确实违反了 URI应该引用唯一资源。您也保证 更新版本时会中断客户端集成。
例如
http://api.example.com/v1 http://apiv1.example.com
版本不必是数字,也不必使用“ v [x]”指定 句法。备选方案包括日期,项目名称,季节或其他 对产生API的团队有意义的标识符 并且足够灵活,可以随着版本的变化而变化。
使用自定义请求标头进行版本控制自定义标头(例如
Accept-version)允许您保留版本之间的URI 尽管它实际上是内容协商的副本 现有的Accept标头实现的行为。
例如
Accept-version: v1 Accept-version: v2
使用“接受”标头进行版本控制
内容协商可以让您 保留一组干净的URL,但是您仍然必须处理 在某处提供不同版本的内容的复杂性。这个 负担往往会向上移动到您的API控制器中 负责确定要使用哪个版本的资源 发送。最终结果往往是更复杂的API,因为客户端必须 在请求资源之前知道要指定哪些标头。
例如
Accept: application/vnd.example.v1+json Accept: application/vnd.example+json;version=1.0