从 Mojolicious 控制器中检查占位符变量的名称

Introspecting the name of placeholder variables from a Mojolicious controller

我有一个 Mojolicious 控制器,可以响应不同的 URL 路线。例如,给定 URL 路径:

/v1/users/:someid

和一个触发的控制器:

sub handle_request ($self) {
     my $place_holder_name = $self->route->??????   # how can I get 'someid'?
     is($place_holder_name, 'someid', 'can access the placeholder name');
}

如何找到占位符的名称?

参数

目前 Mojolicious::Routes, so I can see why that's confusing. They're documented under Mojolicious::Controller#param

下未记录这些内容

你有一个 Route 参数,所以你可以用

检索那个值
$c->param('someid');

获取提供给控制器的所有参数

虽然没有记录,但您可以find the names of the captures in the internal hashref like this,

$self->stash->{'mojo.captures'};

像这样;

my $params = $self->stash->{'mojo.captures'};
warn for keys %$params;