给定一个 Uri 和一个 UriTemplate,如何获取模板参数值?
如果我可以访问 Uri 及其所基于的 UriTemplate,那么发现已替换模板中参数的值的最简洁方法是什么?
例如,如果我知道:
var uriTemplate = new UriTemplate("/product-catalogue/categories/{categoryName}/products/{product-name}");
var uri = new Uri("/product-catalogue/categories/foo/products/bar");
是否有一种内置方法可以让我发现categoryName =“foo”和productName =“bar”?
我希望找到这样的方法:
var parameterValues = uriTemplate.GetParameterValues(uri);
其中parameterValues将是:
{ { "categoryName", "foo" }, { "productName", "bar" }}
显然,我可以编写自己的方法,但我想知道框架中是否有我可以使用的东西。
谢谢桑迪
If I have access to both a Uri and the UriTemplate on which is is based, what is the neatest way to discover the values that have replaced the parameters in the template?
For example, if I know:
var uriTemplate = new UriTemplate("/product-catalogue/categories/{categoryName}/products/{product-name}");
var uri = new Uri("/product-catalogue/categories/foo/products/bar");
is there a built-in way for me to discover that categoryName = "foo" and productName = "bar"?
I was hoping to find a method like:
var parameterValues = uriTemplate.GetParameterValues(uri);
where parameterValues would be:
{ { "categoryName", "foo" }, { "productName", "bar" }}
Clearly, I could write my own, but I was wondering if there was something in framework I could use.
Thanks
Sandy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在
上调用 Match 方法uriTemplate
实例并使用返回的 UriTemplateMatch 实例访问参数值:输出
You can call the Match method on the
uriTemplate
instance and use the returned UriTemplateMatch instance to access the parameter values:outputs