You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Mojolicious控制器中获取路由占位符变量的名称

解决方案

你可以直接调用 Mojolicious::Route 对象的 placeholders 方法获取当前路由定义的所有占位符名称,该方法返回数组引用,每个元素就是你定义的占位符名字。

修正后的代码示例如下:

sub handle_request ($self) {
     # 单个占位符直接取下标0即可拿到对应名称
     my $place_holder_name = $self->route->placeholders->[0];
     is($place_holder_name, 'someid', 'can access the placeholder name');
}

补充说明:

  • 如果你的路由定义了多个占位符,比如 /v1/:version/users/:someid,placeholders 方法会返回 ['version', 'someid'],你可以按照占位符的定义顺序取对应下标的值即可。
  • 如果你需要的是占位符对应的请求参数值,而非占位符本身的名称,可以直接调用 $self->param('占位符名称') 取值。

内容的提问来源于stack exchange,提问作者user2145475

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:39:03