我的 laravel 在银行找不到用户时返回 404。我记得有一种方法可以进行此检查并返回响应,但我不记得也找不到它。有人可以帮助我吗?
我不会把整个功能代码放出来
Route::post('/users/validate-pin/{user}', [\App\Http\Controllers\Api\UserController::class, 'validatePIN'])->name('api-users.validatePIN');
public function validatePIN(User $user, Request $request)
{
try {
if(!$request->user()->can('Validar PIN')){
return response()->json([
'success' => false,
'message' => 'Não autorizado',
'error' => 'Unauthenticated',
], 401);
}
...
} catch (\Throwable $error) {
dd($error);
return response()->json([
'success' => false,
'message' => 'Erro no sistema',
'error' => $error,
], 500);
}
}
您应该在
validatePIN()
方法中在 Request
依赖项之后列出您的路由参数。
更改这行代码..
public function validatePIN(User $user, Request $request)
请使用此代码代替上面的代码行。
public function validatePIN(Request $request, User $user)
还记得将
User
模型导入到脚本顶部。
有关更多信息,请参阅路由参数和依赖注入的官方文档。
https://laravel.com/docs/11.x/routing#parameters-and-dependency-injection