Подстановочный знак (*), как говорят, соответствует абсолютно всему.
Но я боюсь, что это не ...
У меня есть веб-сервис со следующим методом:
get '/*param' => sub {
my $self = shift;
my $param = $self->stash('param');
$self->app->log->debug($param);
}
Когда я запрашиваю мой сервис с: http://localhost:3000/search
тогда метод регистрирует "поиск", который в порядке
но
когда я запрашиваю мой сервис с: http://localhost:3000/search?page=1
тогда метод также регистрирует "поиск", который не в порядке IMO
Я также пытался заменить
get '/*param' => sub {
с
get '/:param' => [param => qr/.*/] => sub {
но результат тот же.
Кто-нибудь знает способ обойти это?
Или я должен подать это как ошибку?
С уважением,
Lorenzo
UPDATE
для людей с такой же проблемой я работал над этой проблемой так:
get '/*path' => sub {
my $self = shift;
my $path = $self->stash('path');
my @params = $self->param;
if (scalar @params > 0) {
$path .= '?';
foreach my $param (@params) {
$path .= $param . '=' . $self->param($param) . '&';
}
$path = substr($path, 0, length($path) - 1);
}
$self->app->log->debug($path);
}