【发布时间】:2020-04-16 13:58:31
【问题描述】:
我希望 NancyFX 中的路由匹配 jpg 路径,而不管路径段的数量。例如,它应该匹配所有:
- /image.jpg
- /foo/image.jpg
- /foo/bar/baz/foo/baz.jpg
这可能吗?似乎我为 NancyFX 找到的所有通配符选项都是针对特定路径段的,并且不允许多个段(其中段是由“/”分隔的部分)。
这似乎应该是可能的,因为静态内容服务器需要能够做到这一点。
【问题讨论】:
标签: nancy
我希望 NancyFX 中的路由匹配 jpg 路径,而不管路径段的数量。例如,它应该匹配所有:
这可能吗?似乎我为 NancyFX 找到的所有通配符选项都是针对特定路径段的,并且不允许多个段(其中段是由“/”分隔的部分)。
这似乎应该是可能的,因为静态内容服务器需要能够做到这一点。
【问题讨论】:
标签: nancy
public MyModule : NancyModule
{
public MyModule()
{
Get[@"^(?<path>.*\.jpg)$"] = p =>
{
string path = p.path;
}
}
}
结果(路径值):
image.jpgfoo/image.jpgfoo/bar/baz/foo/baz.jpg【讨论】:
Nancy 支持路由中的正则表达式。您可以使用正则表达式匹配到.jpg 图像的所有路由,并捕获图像的路径和名称:
public MyModule : NancyModule
{
public MyModule()
{
Get[@"(?<imagepath>.*)/(?<imagename>.*.jpg)"] =
params =>
{
string path = params.imagepath;
string name = params.imagename;
return DoStuff(path, name);
}
}
}
【讨论】:
@"(.*.jpg)" 作为任何图像路径吗?喜欢/foo/bar/baz/foo/baz.jpg
/foo/bar/baz/foo/baz.jpg。