【问题标题】:Mojolicious Lite route with regular expressions带有正则表达式的 Mojolicious Lite 路由
【发布时间】:2018-10-19 12:45:44
【问题描述】:

我正在尝试在 Mojolicious Lite 中使用正则表达式捕捉路线。

这是路线:

get qr!/messages/read/(.*).json! => sub {
    my $id = $1;
    my $c = shift;
    return $c->render(json => { $id => 1 });
};

它只是返回未找到的页面。我想知道我是否缺少插件或某些内容发生了变化,但我找不到任何东西。

我尝试了一些变体,比如在第一个斜杠之前添加一个 ^,或者在 qr 之后更改字符,但我无法让它工作。

感谢您的宝贵时间。

【问题讨论】:

  • 我认为 Mojo 有正则表达式后阅读此:mojolicious.org/perldoc/Mojolicious/Guides/Routing#Routes。它实际上表明这可能是矫枉过正,但我​​认为它们无论如何都是可用的。我猜不是。
  • 这是建立在上一节的基础上,上一节解释了正则表达式通常用于路由声明;但是,它们不在 Mojolicious 中,至少不是直接的。

标签: mojolicious mojolicious-lite


【解决方案1】:

Mojolicious 路由不是正则表达式,所以我很好奇是什么让你相信你可以做到这一点。看起来你想要一个placeholder

get '/messages/read/<:id>.json' => sub {
    my $c = shift;
    my $id = $c->param('id');
    return $c->render(json => { $id => 1 });
};

【讨论】:

    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2019-01-01
    相关资源
    最近更新 更多