在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的主要内容,如果未能解决你的问题,请参考以下文章

在 Controller 抽象类上添加方法

asp.net mvc 中怎么像webform一样自定义一个BaseController实现判断用户是不是登录 然后获取用户的权限

Laravel 5:在从 BaseController 扩展的控制器中对 FormRequest 类进行类型提示

Laravel 4无法从命名空间控制器中找到BaseController

BaseController 委托在选项卡栏控制器内的所有继承视图控制器中不起作用

csharp BaseController.cs