在路由中使用用户类,如果没有找到如何返回响应

问题描述 投票:0回答:1

我的 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);
        }
    }
laravel laravel-10
1个回答
0
投票

您应该在

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

© www.soinside.com 2019 - 2024. All rights reserved.