我的路线有默认捕获值:
my $api = $r->under( '/api/v:api', [ api => qr/\d+/ ], { api => 1 } )->name( 'api' );
当我render
这条路线时,我得到/api/v
:
$api->render; # /api/v
没关系,但是当我想强制进行版本渲染时,它不会呈现:
$api->render({ api => 1 }); # RESULT: /api/v EXPECT: /api/v1
即使1等于默认值
,我也没想到为什么当我强制它时不呈现Mojolicious路线参数?
答案 0 :(得分:1)
如果要在同一路径段(斜杠之间)中混合文本和占位符,请在Routing Guide中看到,您需要用括号括住占位符。
$r->under('/api/v(:api)', ...)
应该有效,但是,进一步说,一旦你有括号表格,你可以省略:
所以
$r->under('/api/v(api)', ...)
也应该有用。