RESTful API版本控制

时间:2014-05-20 07:59:46

标签: api rest

我是RESTful API的新手,并且正在开发我的第一个用于移动应用程序的第一个。我有一个关于API版本以及如何管理/解决它们的问题。

此时,我的API'版本'是我的API类所在的名为v<version_name>的目录。在该目录中,我在另一个名为include的目录中拥有API和REST客户端所需的资源。所以结构如下:example.com/api/v0.2/method_name/.htaccess,我确保API版本之后的所有内容(在.htaccess文件中硬编码)都保存在查询字符串参数中)。 我不确定它是否是实时应用程序的正确方法,因为它也需要手动更改客户端的URL端点。所以我的问题是:

  1. 这是API版本控制的正确方法吗?
  2. 如果是,我保留它,我该如何处理过时的URL。比如说应用程序是实时的,我将API更新为v0.3,但安装了应用程序的客户端将访问v0.2并获得404响应代码?
  3. 那里有更优雅的解决方案吗?肯定是。
  4. 编辑:有些资源位于api文件夹本身之外,位于根include文件夹中。

    编辑2 :我的API定位于移动应用程序使用,不可公开使用。

1 个答案:

答案 0 :(得分:0)

虽然我认为这些问题主要是基于意见的,但我会有一个... ...

  1. 我认为这是一种有效的方法,我见过其他人使用它, 包括微软。

  2. 当需要过时API时,您可以提供404 返回并解释新API位于新地址。 但是,退出API版本通常是一个坏主意;您 至少必须给客户端开发人员足够的时间来切换 退役之前的新API,如果有的话。

  3. 更优雅的解决方案是将API保持在一个 地址,并根据需要更新,并添加到它而不是 尽可能更换。继续支持过时的功能 尽可能长时间与客户开发人员进行公开沟通 关于何时某种方法不再有效。

  4. 只是我的意见,用它做你想做的事情......