Chr*_*ris 3 c# asp.net-mvc asp.net-mvc-areas asp.net-mvc-4 asp.net-web-api
我想在现有的MVC项目中构建一个版本化的WebApi,以便我的URL可以
/api/v1/account
/api/v2/account
Run Code Online (Sandbox Code Playgroud)
我目前不使用区域,但经过一些研究后,我认为这对我Areas有用,但显然你无法嵌套(我目前正在使用MVC4,但可以升级到5).
我怎样才能做到最好?
更新
我最终使用了这个
有两种方法可以使用Web API实现版本控制
方法1:
/api/accountv1/
/api/accountv2/
Run Code Online (Sandbox Code Playgroud)
我在API版本控制中找到的最简单的方法是创建一个相同的" AccountV1Controller " 控制器并将其命名为" AccountV2Controller ",注意控制器名称中的后缀V1和V2,我们将依赖此部分来选择适当的控制器基于API版本.
方法2:
/api/v1/account
/api/v2/account
Run Code Online (Sandbox Code Playgroud)
或者您可以使用Routes来获得相同的行为
config.Routes.MapHttpRoute(
name: "1-0Api",
routeTemplate: "api/v1/Account/{id}",
defaults: new { controller = "AccountV1", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "2-0Api",
routeTemplate: "api/v2/Account/{id}",
defaults: new { controller = "AccountV2", id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
取自这里
| 归档时间: |
|
| 查看次数: |
3272 次 |
| 最近记录: |