加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:30:45 所属栏目:asp.Net 来源:网络整理
导读:像ASP.NET或Nancy这样的框架提供了可用于指定路由的语法,例如: MapRoute("/customers/{id}/invoices/{invoiceId}",...) 在ASP.NET路由中工作在两个方向.他们可以将一个诸如/ customers / 32 / invoices / 19的请求URI与路由匹配,并且可以将诸如{id:37,invo
像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规范中有很多相当怪异的行为,我怀疑即使可以匹配,这将是相当昂贵的.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读