基本上,我认为对你的REST api进行版本化是一个好主意.这是常识.通常你会遇到两种方法来解决这个问题:
/api/v1/foo/bar,Accept: vnd.myco+v1.到现在为止还挺好.这是几乎所有的大公司做的.这两种方法各有利弊,这里讨论了很多这方面的内容.
现在,我已经看到了一个完全不同的方法,在Twilio,描述在这里.他们使用日期:
在编译时,开发人员在编译代码时包含应用程序的时间戳.该时间戳记在所有HTTP请求中.
当请求进入Twilio时,他们会查看.根据时间戳,他们识别在创建此代码时有效的API并相应地进行路由.
这是一个非常聪明和有趣的方法,虽然我认为它有点复杂.例如,理解时间戳是编译时间还是API发布时的时间戳可能会令人困惑.
虽然我在某种程度上发现这个也很聪明,但我想知道这种方法的真正好处是什么.当然,这意味着您只需要记录一个版本的API(当前版本),但另一方面,它可以使更改的内容更难以跟踪.
有谁知道这种方法的优点是什么,为什么Twilio决定这样做?
请注意,我知道这个问题听起来好像答案主要是基于意见的,但我想Twilio有很好的技术理由这样做.因此,请不要将此问题视为主要的基于意见的问题,因为我希望答案不是.