【问题标题】:Deal with Restler versioning处理 Restler 版本控制
【发布时间】:2014-05-10 22:13:48
【问题描述】:

我正在尝试使用 Restler 版本控制,但有些东西我不明白。

BMI example 上写着:

版本控制仅支持整数。如果未明确指定,则假定版本为 1。

但在您的示例中,v2 明确指定为:

$r->setAPIVersion(2);

... 访问 /_011_versioning/bmi.json 时的默认版本仍然是 v1 !

所以我不明白,setAPIVersion() 函数的真正作用是什么?也许我错过了一些文档部分(我的英语不是那么流利)

再次感谢您快速高效的支持(不是我第一次在这里提问)。

【问题讨论】:

    标签: php api version versioning restler


    【解决方案1】:
    • 通过调用 setAPIVersion,我们设置了我们支持的最大 api 版本
    • 我们希望支持现有的 api 用户而不影响他们的应用,这就是为什么我们需要在 api 用户未指定版本时提供版本 1
    • 一旦用户准备好使用 api 的 v2,他们将通过以下方式请求 v2
      • 如果我们支持基于 url 的版本控制,请在 url 中指定版本
      • 在标题中指定版本,如果我们支持供应商媒体类型(这是下一个示例)

    【讨论】:

    • 谢谢!果然如我所料!另一个问题:您知道是否有办法避免将所有类和函数设置为“v1”或“v2”命名空间?再次感谢您
    • 默认情况下,所有的类只属于它们的版本。 RC5 通过在您的 api 中实现iProvideMultiVersionApi 接口增加了正弦灵活性,您可以设置支持的最大版本。因此,如果一个类的 v1 不需要对 v2 进行更改,但在 v2 api 中需要,您可以使其可用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多