我有一個Mojolicious控制器,它對不同的URL路徑進行回應。例如,給定的URL路徑:
/v1/users/:someid
和一個控制器,該控制器發射:
sub handle_request ($self) /span>{
my $place_holder_name = $self->route-> ?????? # 如何獲得'someid'??
is($place_holder_name, 'someid', 'can access the placeholder name')。
}
我怎樣才能找出占位符的名稱呢?
uj5u.com熱心網友回復:
param
這些目前沒有在Mojolicious::Routes下記錄,所以我可以理解為什么會有這樣的困惑。它們被記錄在Mojolicious::Controller#param,
你所擁有的是一個Route引數,所以你可以通過以下方式獲取該值:
你有什么?
$c->param('someid')。
獲取提供給控制器的所有引數
雖然沒有檔案,但你可以像這樣在內部hashref中找到捕獲的名稱,。$self->stash->{'mojo.captures'/span>}。
像這樣;
my $params = $self->stash->{'mojo.captures'/span>};
warn for keys %$params;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/332792.html
標籤:
