asp.net – Web API小写路由
发布时间:2020-05-24 03:29:18 所属栏目:asp.Net 来源:互联网
导读:那里, 我需要在我的Web API项目中执行小写路由. 如果是一个MVC项目,我会使用类似的东西 routes.LowercaseUrls = true; 但在Web API中,该属性不存在. 我尝试了LowercaseRoutesMVC4 NuGet扩展,但我的路由需要一个自定义处理程序,以便扩展不能帮助我. 我能做什么
|
那里, 我需要在我的Web API项目中执行小写路由. routes.LowercaseUrls = true; 但在Web API中,该属性不存在. 我尝试了LowercaseRoutesMVC4 NuGet扩展,但我的路由需要一个自定义处理程序,以便扩展不能帮助我. 我能做什么? 解决方法这看起来像你所需要的public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional },constraints: new { url = new LowercaseRouteConstraint() }
);
}
}
public class LowercaseRouteConstraint : IRouteConstraint
{
public bool Match(HttpContextBase httpContext,Route route,string parameterName,RouteValueDictionary values,RouteDirection routeDirection)
{
var path = httpContext.Request.Url.AbsolutePath;
return path.Equals(path.ToLowerInvariant(),StringComparison.InvariantCulture);
}
}
我在https://gist.github.com/benfoster/3274578#file-gistfile1-cs-L4发现了这个 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
