通常在OpenRasta中有一些这样的配置:
ResourceSpace.Has.ResourcesOfType<Customers>()
.AtUri("/customers/region/{region}")
... // and so on
...其中路径的{region}
部分自动映射到处理方法中的字符串参数。因此,如果用户点击:
http://server/customers/region/emea
然后处理程序方法传递字符串“emea”。
除了这样做之外,我还想用这样的方式注册一个处理程序:
ResourceSpace.Has.ResourcesOfType<Customers>()
.AtUri("/someotherthing/*")
... // and so on
在这个假想的语法中,星号意味着“将剩下的路径(包括斜杠)作为单个字符串参数传递给处理方法”。因此,如果用户点击:
http://server/someotherthing/how/about/this?that=other
然后我的handler方法接收一个字符串参数:
how/about/this?that=other
OpenRasta中是否可以这样做?
在Sinatra(Ruby)中,我使用正则表达式来完成这个。
更新:到目前为止,我的猜测是一个自定义管道,它以某种方式来掩盖斜线......
答案 0 :(得分:3)
在trac上有一个补丁,可以将此功能添加到RC分支。
本周末我将推动这些更改作为RC2,因此您将获得通配符语法。
请注意,它看起来像/ {name:*}