如何在Response中包含API的版本号?

时间:2018-07-17 04:17:29

标签: rest api

我已经为User创建了API,作为响应,我需要包含此API的版本号。是好的方法还是应该仅在请求中遵循版本号?

1 个答案:

答案 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