[英]How do I match all routes in Mojolicious?
我正在尝试使用 Mojolicious one-liner 向用户显示有关服务中断的消息。 无论路线如何,我都希望显示消息。 这是我所拥有的,从文档中的内容略有修改。
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
匹配除/
之外的所有路由。 有没有办法在一个定义中匹配所有路由?
是的你可以。 试试这些例子:
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
文档
怎么样:
perl -Mojo -E 'a("/*any" => {text => "The service is down for maintenance."})->start' daemon
我认为它适用于除“/”之外的所有网址。
如果您创建一个命名占位符,默认值为任何内容,我相信它可以满足您的需求:
perl -Mojo -E 'a("/*x" => { text => "The service is down for maintenance.", x => ''})->start' daemon
可能不是你见过的最漂亮的代码,但它只是几个字符:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.