我正在考虑使用ASP.NET MVC 3开发一个应用程序,并希望同时提供公共API。
从调查来看,似乎有两种方法。一种是创建API区域和返回JSON / XML控制器。另一种是使用操作过滤器和单个前端控制器集,根据请求标头返回JSON / XML / HTML。
我想采用后一种方法,但我想知道如何在这种情况下对API进行版本控制?
如果您选择第一种方法,可以轻松地创建v1 / v2控制器,但如果您选择后一种方法,该如何进行版本控制?
我正在考虑使用ASP.NET MVC 3开发一个应用程序,并希望同时提供公共API。
从调查来看,似乎有两种方法。一种是创建API区域和返回JSON / XML控制器。另一种是使用操作过滤器和单个前端控制器集,根据请求标头返回JSON / XML / HTML。
我想采用后一种方法,但我想知道如何在这种情况下对API进行版本控制?
如果您选择第一种方法,可以轻松地创建v1 / v2控制器,但如果您选择后一种方法,该如何进行版本控制?
版本控制本身就是个相当复杂的问题。以下是我之前考虑过的方法:
许多人推荐第4种选项,虽然不总是切实可行。大多数这些选项需要额外的工作才能与ASP.NET MVC配合使用。
http://app.lication/category/1
,你可以使用类似于http://app.lication/api/v1/category/1
的东西),或者你可以包含一个自定义HTTP头。无论哪种方式都可以让你区分正在调用的版本。