版本控制WebAPI接口的推荐做法

时间:2012-06-18 17:08:48

标签: asp.net-mvc asp.net-web-api

我想将WebAPI用作我的API技术:

  • 允许获得批准的公司在我的系统中输入/检索数据
  • 为我公司的iOS / Android /等创建标准界面。应用

有没有人知道用于实现接口版本控制的最佳实践和机制。具体来说,如果我对API进行更新,我不想破坏向后兼容性。我想知道人们使用什么版本控制方案,以及WebAPI是否有任何支持版本控制的内置机制,而不需要在每次发布新版本时都设置路由/路径。任何想法都将不胜感激。

更新 在进行一些研究后,我想我知道自己想做什么,我不知道该怎么做。理想情况下,在内容协商期间,我想使用用户传递的媒体类型来指定应该使用哪个版本的API(而不是硬编码URL)并点击相应的控制器。

2 个答案:

答案 0 :(得分:3)

如果您不希望版本包含在Url中,那么可能要实现IHttpControllerSelector。这篇博文应该为您提供一个很好的起点:Implementing API versioning in ASP.NET Web API

答案 1 :(得分:3)

我建议您查看Peter Williams在versioning REST services上发布的一系列博客文章。他们解释了什么和为什么。有关方法,请查看Mike Wasson关于how to create a custom media formatter的教程。