gpt4 book ai didi

asp.net - Web API小写路由

转载 作者:行者123 更新时间:2023-12-03 14:22:33 25 4
gpt4 key购买 nike

嗨,

我需要在Web API项目中强制使用小写路由。
如果这是一个MVC项目,我会使用类似

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找到了

关于asp.net - Web API小写路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15767471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com