背景
我有这个路由
我的$foo = $r-> get(‘/ foo /:asd’) – > to(‘Foo#bar’);
在控制器中,我只是使用传递的参数渲染一些json
(在MojolicIoUs :: Controller :: REST的帮助下)
$self-> data(‘param’=> $self-> param(‘asd’));
问题
向/ foo / bar发送请求时,它按预期工作:
{ “数据”:{ “参数”: “酒吧”}}
但是当我试图传递一个包含点的字符串,例如一封电子邮件(email@email.com)时,mojo将点作为斜线渲染.我在第一个地方定义的路由不再相关,因为现在模式已更改为foo /:bar /:baz
解决方案
我被告知解决方案就在这里:
https://github.com/kraih/mojo/blob/master/t/mojolicious/routes.t#L218
这是有道理的,但我不明白如何将它与我所拥有的结合起来.
我试图添加$foo-> pattern-> placeholder_start(”);对我的路由,但仍然,模式正在改变,它再次无关紧要.看起来它不会禁用与我的问题相关的点.
我尝试在$r变量上实现模式方法(这是Mojo的路由 – $self-> routes)
最重要的是,我只需要为某些路由禁用点占位符或完全禁用.
谢谢