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);
        }
    };

    ....;
};

PSGI に基づく既存のフレームワークは、HTTP メソッドに基づくルーティング要求のより優れた代替手段を提供する可能性があります。たとえば、Dancer で簡単に実行できます。

于 2012-08-28T15:11:55.263 に答える