【问题标题】:How can I internally redirect with Mojo?如何使用 Mojo 进行内部重定向?
【发布时间】:2022-01-07 21:22:33
【问题描述】:

Catalyst 支持框架内部的重定向(forwarddetach)和外部 (HTTP) 重定向(res->redirect)。内部重定向基本上只是重新分派到新路径,

假设我设置了两条路径,

sub register ( $self, $app, $conf ) {
    my $r = $app->routes;
    $r->any( 'foo',  => \&foo_baz );
    $r->any( 'bar',  => \&bar_baz );
}

我如何告诉foo 在它做一些事情后在内部重定向到bar

sub foo_baz ($c) {
  ; stuff
  bar_baz($c)
}

有没有比直接致电bar_baz($c) 更好的方法?这些路由在 Mojo 插件中声明。

【问题讨论】:

    标签: perl mojolicious


    【解决方案1】:

    在 IRC 上讨论过,但是:Mojolicious 不像 Catalyst 那样支持内部重定向的动态路由。常见的建议是抽象出你的代码以避免重复,同时不直接调用另一个路由。因此,不是路由 A 调用路由 B,而是它们都将调用帮助程序或方法来使用它们当前的控制器对象来完成通用功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2013-04-18
      • 2021-04-18
      相关资源
      最近更新 更多