1

有没有办法在特定方法(GET 或 POST)的构建器部分中指定,但不能同时指定两者?我的构建器部分示例。

my $main_app=builder
{
    mount "/" => builder{$app;};
};

它处理 get 和 post 请求,如何禁用 GET 请求的处理?

谢谢。

4

1 回答 1

0

Plack::Builder 不提供基于 HTTP 方法路由请求的本机方式。编写处理特定方法的中间件应该非常简单。例如像

my $post_app = ...;

my $main = builder {
    enable sub {
        my $app = shift;
        sub {
            my $env = shift;

            if ($env->{REQUEST_METHOD} eq "POST") {
                return $post_app->($env);
            }

            return $app->($env);
        }
    };

    ....;
};

基于 om PSGI 的现有框架可能会为基于 om HTTP 方法的路由请求提供更好的替代方案。例如,使用 Dancer 看起来很容易。

于 2012-08-28T15:11:55.263 回答