фонаMojolicious отключить точку заполнителя маршрутизация
Я это маршрутизация
my $foo = $r->get('/foo/:asd')->to('Foo#bar');
в контроллере я просто рендеринг некоторых JSON с пройденными парами (с помощью Mojolicious::Controller::REST
)
$self->data('param' => $self->param('asd'));
Проблема
При отправке запроса на /foo/bar
, его работы, как и ожидалось:
{"data":{"param":"bar"}}
, но когда я пытаюсь передать строку, содержащую dot
, например, по электронной почте ([email protected]), mojo передает dot
как slash
. Маршрутизации я определил в первую очередь не более актуальна, потому что теперь картина изменилась на foo/:bar/:baz
Решение
мне сказали, что решение здесь: https://github.com/kraih/mojo/blob/master/t/mojolicious/routes.t#L218
Это имеет смысл, но я не понимаю, как совместить это с тем, что у меня есть.
Я попытался добавить $foo->pattern->placeholder_start('+');
к моей маршрутизации, но тем не менее, шаблон меняется и его нерелевантный снова и снова. Это не похоже на то, что он отключит точку, связанную с моей проблемой.
Я попытался реализовать метод шаблона на переменной $r
(громящая Mojo в - $self->routes
)
Нижняя линия, мне просто нужно отключить точечный заполнитель для определенного маршрута или полностью.
Благодаря
Я не понимаю. Почему вы говорите, что адрес электронной почты, такой как 'email @ email.com', имеет двоеточие? – mob
извините, я имел в виду точку ('.') –