如何使 yarp 匹配路径不区分大小写?
Posted
技术标签:
【中文标题】如何使 yarp 匹配路径不区分大小写?【英文标题】:How can I make yarp match path case insensitive? 【发布时间】:2021-04-29 05:12:30 【问题描述】:我的路线是
"Routes": [
"RouteId": "routegreen",
"ClusterId": "clustergreen",
"Match":
"Path": "/api/myendpoint"
去往/api/MyEndpoint
的请求不匹配。是否可以使其不区分大小写?
【问题讨论】:
【参考方案1】:你不能。这些不是 Windows 文件名 - 路由中包含的 URL 始终区分大小写。您别无选择,只能在路由地址或您的方法名称中重命名以完全匹配大小写。
【讨论】:
我完全明白 url 应该区分大小写,但配置可能有一个不区分大小写匹配的选项。我实际上在 yarp (matcher.IsCaseSensitive) 的源代码中找到了一些东西,只需要为它找到正确的语法 我认为它不存在。在 .NET ASP 中有(曾经)不区分大小写的路由,但对于 Core,他们已经改变了这一点。实际上不了解 yarp,但它根本不应该存在。路由区分大小写。您必须为 MyEndpoint 明确设置单独的路由案例。 我猜你是正确的匹配器。IsCaseSensitive 实际上是用于匹配标头值以上是关于如何使 yarp 匹配路径不区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章