像ASP.NET或Nancy这样的框架提供了可用于指定路由的语法,例如:
MapRoute("/customers/{id}/invoices/{invoiceId}", ...)
Run Code Online (Sandbox Code Playgroud)
在ASP.NET中,路由工作在两个方向.它们可以匹配请求URI(例如 /customers/32/invoices/19路由),并且可以将参数解析为{ id: 37, invoiceId: 19 }URI.
RFC 6570:URI模板还定义了一个类似的,虽然更丰富的URI规范,通常用于解析 URI.例如:
UriTemplate("/customers/{id}/invoices{/invoiceId}{?sort}", { id: 37, invoiceId: 19, sort: 'asc' } )
// returns: /customers/37/invoices/19?sort=asc
Run Code Online (Sandbox Code Playgroud)
我的问题是,RFC 6570中指定的语法是否可用于将请求URI与路由匹配?是否有一部分语法会使给定的URI与给定的URI模板匹配变得模糊不清?是否有任何库支持将URI与URI模板匹配?