HTTPメソッドを取得する

HTTPメソッドを取得するにはMojo::Message::Requestクラスのmethodメソッドを使用します。

my $method = $req->method;

以下はMojolicious::Liteでの例です。Mojo::Message::RequestオブジェクトにはMojolicious::Controllerオブジェクトのreqメソッドを使ってアクセスすることができます。

# Mojolicious::Lite
get '/' => sub {
  my $self = shift;
  my $method = $self->req->method;
};

以下はMojoliciousでの例です。

# Mojolicious
package MyApp::Picture;

use Mojo::Base 'Mojolicious::Controller';

use utf8;

# ログイン画面
sub list {
  my $self = shift;
  my $method = $self->req->method;
}

HTTPメソッドによって分岐させるときは次のようにlc関数で小文字にしてから判定するとよいでしょう。

if (lc $self->req->method eq 'post') {
  ...
}
else {
  ...
}

関連情報