【发布时间】:2020-03-30 19:43:03
【问题描述】:
我有一个包含约 300 项服务的应用程序。我想为特定子路由添加授权。 我创建了一个自定义授权属性来验证路由。我想将路由模板转换为正则表达式,因此我可以确保将来的任何更改都会自动应用回授权属性。
例如,我有一条路线。
var benefitRoute = "/employees/{employeeId:Guid}/benefit/{benefitId:guid}/enrollments";
我想用 .* 替换所有 {} 及其内容
"/employees/.*/benefit/.*/enrollments";
但是我尝试在 \{.+\} 上进行匹配,但是当我运行正则表达式时,它会在两个较小的之前抓取较大的。
Regex.Replace(route, "\{.+\}", ".*");
如何将路由模板转换为正则表达式。
【问题讨论】:
标签: c# asp.net-web-api routing