Laravel 10与Sanctum - Postman“username”key always NULL

brccelvz  于 2023-08-05  发布在  Postman
关注(0)|答案(1)|浏览(103)

我有一个问题时,试图做一个邮政要求与 Postman 。我在Laravel中使用Sanctum设置了一个简单的API。我有一个注册路径和一个登录路径。当我向这些路由发送请求时,如果我使用“username”作为带值的键,则为username传递的值始终为NULL,因此无法注册用户,因为我将其设置为需要用户名,电子邮件和密码。在Postman中,我尝试使用Params,form-data,x-www-form-urlencoded,raw发送,它总是将username发送为NULL。如果我尝试用电子邮件和密码登录路线,它工作得很好。但是如果我尝试使用用户名和密码,它永远不会工作,因为用户名变为Null。我有它设置在我的应用程序能够登录与电子邮件或用户名,并在注册用户输入用户名,电子邮件和密码。
在我的API注册方法中,我有:

$validator = Validator::make($request->all(), [
        'username' => 'required',
        'email' => 'required|email',
        'password' => 'required',
        'c_password' => 'required|same:password',
    ]);

    if($validator->fails()){
        return $this->sendError('Validation Error.', $validator->errors());
    }

    $input = $request->all();
    $input['password'] = bcrypt($input['password']);
    $user = User::create($input);
    $success['token'] =  $user->createToken('MyAppName')->plainTextToken;
    $success['username'] =  $user->username;

    return $this->sendResponse($success, 'User register successfully.');

字符串
因此,我总是得到返回的错误,即username是必需的,因为username总是作为Null传递。快把我逼疯了。如果我将密钥更改为user_name、_username等任何其他值,它在API路由中发送和接收该值都没有问题。知道为什么会这样吗
屏幕截图:
Screen shot of Postman Console after request sent
screenshot of form data values and response
screenshot of a test I did sending $request->all() back from Laravel
先谢了。

2g32fytz

2g32fytz1#

请验证以下列表。

  • 删除任何中间件(如果已应用)。
  • 验证请求文件(预验证可能会更改字段的值。)

相关问题