在webAPI的BaseController上使用RoutePrefix
Posted 冰深
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在webAPI的BaseController上使用RoutePrefix相关的知识,希望对你有一定的参考价值。
在webAPI2.2中有支持,参考地址:https://docs.microsoft.com/en-us/aspnet/web-api/overview/releases/whats-new-in-aspnet-web-api-22#ARI,具体做法:
public class BaseController : ApiController { [Route("{id:int}")] public string Get(int id) { return "Success:" + id; } } [RoutePrefix("api/values")] public class ValuesController : BaseController { }
public class CustomDirectRouteProvider : DefaultDirectRouteProvider { protected override IReadOnlyList<IDirectRouteFactory> GetActionRouteFactories(HttpActionDescriptor actionDescriptor) { return actionDescriptor.GetCustomAttributes<IDirectRouteFactory> (inherit: true); } }
///WebApiConfig.cs中加上这个配置
config.MapHttpAttributeRoutes(new CustomDirectRouteProvider());
以上是关于在webAPI的BaseController上使用RoutePrefix的主要内容,如果未能解决你的问题,请参考以下文章
asp.net mvc 中怎么像webform一样自定义一个BaseController实现判断用户是不是登录 然后获取用户的权限
Laravel 5:在从 BaseController 扩展的控制器中对 FormRequest 类进行类型提示
Laravel 4无法从命名空间控制器中找到BaseController