我可能会遗漏一些明显的东西,但我正在尝试在NancyFx中定义一个使用多个正则表达式捕获组的路径。
Get[@"/campaign/(?<campaignid>[0-9]{1,8})/console(?<page>[0-9])/(?<personid>[0-9]{1,8})"]
正则表达式在正则表达式测试程序中与URL类似/campaign/12345/console1/123
,但在南希,我总是得到404。
如果我将其删除,我会回到Get[@"/campaign/(?<campaignid>[0-9]{1,8})/console"]
,此时它会起作用,让我觉得问题可能是有多个命名组。这是否意味着按设计工作?
答案 0 :(得分:2)
从技术上讲,您遇到的是一个(新)错误,因为您的中间捕获组前面有一个字符串文字。我会看一下下一篇,即将发布的内容。
幸运的是,有一个简单的解决方法,只需更新您的路径,使其看起来像这样
@"/campaign/(?<campaignid>[0-9]{1,8})/(?:console(?<page>[0-9]))/(?<personid>[0-9]{1,8})"
这会让Nancy陷入困境,但不能捕获console
部分:)