asp.net – 可以使用URI模板来匹配URI到路由吗?

前端之家收集整理的这篇文章主要介绍了asp.net – 可以使用URI模板来匹配URI到路由吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
像ASP.NET或Nancy这样的框架提供了可用于指定路由的语法,例如:
MapRoute("/customers/{id}/invoices/{invoiceId}",...)

在ASP.NET路由中工作在两个方向.他们可以将一个诸如/ customers / 32 / invoices / 19的请求URI与路由匹配,并且可以将诸如{id:37,invoiceId:19}的参数解析为URI.

RFC 6570: URI Templates还定义了通常用于解析URI的URI的类似但非常丰富的规范.例如:

UriTemplate("/customers/{id}/invoices{/invoiceId}{?sort}",{ id: 37,invoiceId: 19,sort: 'asc' } )
// returns:  /customers/37/invoices/19?sort=asc

我的问题是,可以使用RFC 6570中指定的语法来将请求URI与路由匹配吗?是否有一部分语法会使给定URI与给定的URI模板相匹配?有没有任何支持URI与URI模板匹配的库?

解决方法

我怀疑这将是非常困难的.当然,像前缀语法这样的东西将无法重新生成原始参数.

对于路径段扩展等

{/list*}           /red/green/blue

你怎么知道路径的哪些部分是文字,哪些部分是参数的一部分?在URITemplate规范中有很多相当怪异的行为,我怀疑即使可以匹配,这将是相当昂贵的.

您是否有兴趣为此进行路由选择?

猜你在找的asp.Net相关文章