我正在尝试使用Mojolicious单行向用户显示有关服务中断的消息。无论路线如何,我都希望显示该消息。这是我从what's in the documentation略微修改的内容。
perl -Mojo -E 'a("/" => {text => "The service is down for maintenance."})->start' daemon
适用于/
,但不适用于其他任何内容。我添加了一个星号,将其转换为通配符路径。
perl -Mojo -E 'a("/*" => {text => "The service is down for maintenance."})->start' daemon
匹配除/
以外的所有路线。有没有办法在单个定义中匹配所有路线?
答案 0 :(得分:1)
是的,你可以。试试这些例子:
perl -Mojo -E 'app->routes->get( "/" => { text => "start" }); app->routes->get( "/*any" => { text => "any" }); app->start' get /
perl -Mojo -E 'app->routes->get( "/" => { text => "start" }); app->routes->get( "/*any" => { text => "any" }); app->start' get /some_route
这里定义了特定路由 *any
之后的所有路由 /
Documentation
答案 1 :(得分:0)
怎么样:
perl -Mojo -E 'a("/*any" => {text => "The service is down for maintenance."})->start' daemon
我认为它适用于所有网址但是' /'。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您创建一个名为占位符,默认值为any,我相信它可以满足您的需求:
perl -Mojo -E 'a("/*x" => { text => "The service is down for maintenance.", x => ''})->start' daemon
可能不是你见过的最漂亮的代码,但它只有几个字符: - )