【发布时间】:2015-09-23 14:11:59
【问题描述】:
有没有办法使用 Mojolicious Lite 在 Perl 中将 POST 参数表示为可选参数?例如,如果请求正文中没有定义param2,有没有办法让服务器不返回404?
post "/my_post" => \&render(post_callback);
sub post_callback {
my ($mojo) = @_;
my $param1 = $mojo->param("param1");
my $param2 = $mojo->param("param2");
}
【问题讨论】:
-
很确定它没有。它只是将
param2设置为undef。如果你得到 404,那是因为你的回调没有渲染任何东西。 -
如果它被路由到正确的回调,它不应该总是返回 404 以外的东西吗?我的问题是它甚至没有被路由到正确的回调。虽然如果我同时指定
param1和param2它将被路由到post_callback并返回 200。 -
没有。 Mojolicious 在被告知时会渲染一些东西。有时它会隐式执行此操作。尝试在回调结束时添加:
$mojo -> render ( text => "It worked" );。 -
太好了,非常感谢您的帮助!
-
没问题,待命...
标签: perl mojolicious mojolicious-lite