流明路由参数不适用于点

Lumen route parameter not working with a dot

我需要通过电子邮件查找用户。

所以我尝试在流明上进行路由 /user/email/abc@test.com

http://127.0.0.1:8888/user/email/abc@test.com

routes/web.php

$router->get('/user/email/{email}', ['middleware' => ['cors','auth'], 'uses' =>  'UserController@getUserByEmail']);

当我包含一个 DOT(.) 时,结果显示为

"The requested resource /user/email/abc@test was not found on this server."

否则结果还好

请告知我如何像这些场景一样路由,或者是否可能。 抱歉我的英语不好

我认为从请求正文而不是 url 获取电子邮件是个好主意。 在您的函数中,从请求中获取电子邮件。看这个例子:

 public function getUserByEmail(Request $request){

            $this->validate($request, [
                'email' => 'required',
            ]);
             $email = $request->email;
             //then the rest of your code logic
 }

路线现在是这样的:

$router->get('/user/email', ['middleware' => ['cors','auth'], 'uses' =>  'UserController@getUserByEmail']);