我想将WebAPI用作我的API技术:
有没有人知道用于实现接口版本控制的最佳实践和机制。具体来说,如果我对API进行更新,我不想破坏向后兼容性。我想知道人们使用什么版本控制方案,以及WebAPI是否有任何支持版本控制的内置机制,而不需要在每次发布新版本时都设置路由/路径。任何想法都将不胜感激。
更新 在进行一些研究后,我想我知道自己想做什么,我不知道该怎么做。理想情况下,在内容协商期间,我想使用用户传递的媒体类型来指定应该使用哪个版本的API(而不是硬编码URL)并点击相应的控制器。
答案 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的教程。