C# 按名称获取 URI 段

C# Get URI Segments by name

有什么方法可以使用名称获取 URI 的段吗?

例如,如果我有模板:

http://myapi.com/v1/players/{country}

如何在使用 UriTemplateMatch 匹配后提取 {country} 的值?

我有 read the docs for the class 并且目前正在使用这种方法

string country = requestedUri.Segments[3];

此方法适用于静态 URI,但一旦路径更改,返回并进行更改可能会很麻烦。

您可以使用 UriTemplateMatch

BoundVariables 属性 检索绑定变量

你有一个很好的例子here

...所以基本上如果我们有

UriTemplateMatch results

匹配完成后直接调用

results.BoundVariables["country"];

得到你要找的东西。 除非我在这里遗漏了问题,并且出于某种原因您不想保留 UriTemplateMatch 对象。