3

我不是想发起一场宗教战争,但我个人真的不喜欢资源 URL 中的 api 版本信息。我认为最好的方法是通过资源的 Accept 标头或将 ?version=2 添加到查询字符串中。如果你对这个话题感到好奇。StackOverflow 上有许多关于该主题的好(热情洋溢的)帖子。这是一个很好的线程。另外,恕我直言,Steve Klabnik的一篇很好的博文。同样,这些只是我的偏好,我不想(再次)创建一个关于这个主题的线程。

我目前正在寻找一个 Django 包来帮助创建一个 RESTful API。经过一番阅读,TastyPie 似乎拥有我想要/需要的大部分内容,并且得到了很好的支持(并且有非常好的文档)。我只是想知道是否有办法实现不同的版本控制方案?有没有其他人做过这个?是否有另一个包可以按我想要的方式工作?

4

1 回答 1

4

是的,您可以使用 Accept 标头或任何其他方法来版本化您的 API,并以不特定于您正在使用的任何 Django API 包的方式执行此操作。一种简单的方法是添加一些中间件来检查相关请求的标头,然后根据指定的版本加载适当的 URL conf。

github 上有几个使用URL 路由中间件的简单应用程序,您可以自定义这些应用程序以满足您的需求。

此外,Tastypie 很棒,我强烈推荐它在活塞上使用后。

于 2012-03-12T03:37:39.553 回答