Ограничения регулярного выражения Lumen генерируют исключение NotFoundHttpException - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть список маршрутов, некоторые используют параметры, и все работает правильно.Моя проблема возникает, когда я пытаюсь ограничить параметр (чтобы проверить его действительность перед выполнением моего контроллера).

Следуя документации, я сделал это следующим образом:

    $router->group(['middleware' => 'auth:api'], function () use ($router) {
    $router->get('/user/{userId:[a-z0-9]+}', 'UserController@userByUserIdGet');
});

Но все, что яreceive - это NotFoundHttpException, означающее, что оно не соответствует моему маршруту.

Я не вижу, где моя ошибка.Есть идеи?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

ОК, глупая ошибка с моей стороны.Я передаю UUID в качестве параметра userID ... И в них есть тире.Таким образом, мое регулярное выражение должно быть этим

$router->group(['middleware' => 'auth:api'], function () use ($router) {
   $router->get('/user/{userId:[a-z0-9\-]+}', 'UserController@userByUserIdGet');

});

0 голосов
/ 25 сентября 2019

Ошибка, которую вы получаете, если ваш маршрут не существует, - это MethodNotAllowedHttpException - ваш код и регулярное выражение для вашего маршрута работают правильно, поэтому я предполагаю, что ваша ошибка может иметь другую причину.

Может быть, вы должны проверить это: NotFoundHttpException с Lumen

...