路由器对包含第二个':'的参数分段存在分歧
登记册/日期/:年份-月'和请求/日期/2026-09'。 每个路由器都做不同的事情.
- 路由器 * 结果 * | -- -- -- -- -- -- --
===============================================================================================================================================================================================================================================================
- 线性路透号* 相匹配,参数
年份'='2026-09' {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}不对阵
路由器意在可互换. SmartRouter在运行时选择一门和 " hono/tiny " 船 Pattle Router,因此同一应用程序返回一个参数,一个不同名称的参数,或者一个404,它取决于哪个是活跃的。
- 复制
导入 { regExprouter } 从“ hono/ rootter/ reg- exp- routter ” 导入 从“ hono/ roter/ trie- roter” 导入 { TrieRouter } 从“ hono/ roter/ pattern- roter” 导入 { Pattle Router } 从“hono/roter/linear-roter”导入{线性路由器}
用于[[名称、R] ['RegExprouter',"RegExprouter"],,,,, ['特里鲁特',特里鲁特], ['Pattern Router', Pattern Router'], ['Pattern Router', Pattern Router'], ['Pattern Router', Pattentle Router'], ['Pattern Router','Pattern Router','Pattle Router'], ['Pattern Router','Pattern Router', ['Pattern Router','Pattle','Pattern Router'],['Pattern Router', ['Pattle','Pattern Router', ['Pattern Router', ['Pattern Router', , ['Patternrutentr', [“Pattentrouter', ,“Pattentrouter', ,“Pattle”],“Pattle” ['Linear Router', Linear Router'], , , , , , , , [作为康斯特]{ const r = 新 R () r.add( “ GET ” , “日期/ 年- 月” , “ h”) contail.log(名称, JSON.stringify(r. match('GET','/date/2026-09'))). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
RegExprouter [["h",{"年-月:月": 1}]],["/date/2026-09","2026-09","]]]. TrieRouter [[["h",{"年份-:月":"2026-09"}]]]]]]). [ [ ] 线性路透[["h",{"年":"2026-09"}]]]
`ParamKeys<'/date/:year-:months'是`'year-:month'',它与RegExprouter和Trie Router相匹配。 `普通.case.ts ' 没有任何理由说明这一点,因此,没有什么能发现差别。
什么行为是正确的? 如果这是类型描述的, 我会把线性路透和图案路透连接起来, 并把箱子添加到共享的套房中.内容来源: honojs/hono