php – Laravel 11, Manipulando Exceções em Dispêndio…

php - erro laravel: Classe alvo [validator] ...

Geralmente, tratamos a exceção uma vez que aquém em ~/bootstrap/app.php

->withExceptions(function (Exceptions $exceptions) {
    $exceptions->respond(function (Response $response, $e, Request $request) {
        if ($e instanceof ValidationException) {
            return response()->json($e->errors(), Response::HTTP_UNPROCESSABLE_ENTITY);
        } elseif ($e instanceof MethodNotAllowedHttpException) {
            $result['errorMsg'] = 'Method not allowed.';
            $result['body'] = ['requestedUrl' => $request->getUri()];
            return response()->json($result, Response::HTTP_METHOD_NOT_ALLOWED);
        } elseif ($e instanceof ModelNotFoundException || $e instanceof NotFoundHttpException  || $e instanceof RouteNotFoundException) {
            $result['errorMsg'] = $e->getMessage() ?? 'Record not found.';
            $result['body'] = ['requestedUrl' => $request->getUri()];
   Sua visita nos ajuda a continuar oferecendo o melhor para você!         return response()->json($result, Response::HTTP_NOT_FOUND);
        } elseif ($e instanceof AuthenticationException) {
            $result['errorMsg'] = 'Unauthenticated';
            $result['body'] = ['requestedUrl' => $request->getUri()];
            return response()->json($result, Response::HTTP_UNAUTHORIZED);
        Sua visita nos ajuda a continuar oferecendo o melhor para você! elseif ($e instanceof HttpException) {
            return response()->json($e->getMessage(), $e->getStatusCode());
        } else {
            $result['errorMsg'] = 'Internal server error.';
            $result['body'] = ['requestedUrl' => $request->getUri()];
            $result['exception'] = $e->getMessage();
            return response()->json($result, Response::HTTP_INTERNAL_SERVER_ERROR);
        }
      Sua visita nos ajuda a continuar oferecendo o melhor para você!  return $response;
    });

Mas, quero mourejar de maneira dissemelhante em uma classe separada e substituir o ~/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php

public function renderable(callable $renderUsing)
    {

Existe alguma maneira de lidarmos? ou personalizar a resposta?

Tags:

Crédito: Manancial Original

Adriano Pina

Adriano Pina

Análise de Sistemas | SEO e Google Ads | Fundador da Loja Script PHP Aqui & Marca Shoslh de tecnologia

Especialista em transformar ideias em soluções digitais e acelerar o crescimento online.

Deixe um comentário

Tem perguntas? Nos envia sua mensagem 24/7!

(17) 99100-0874

Endereço & Contato

Centro, Interior de São Paulo
E-mail: [email protected]

Links Úteis
BAIXAR APP | SCRIPT PHP AQUI
Certificados
0
    0
    Seu carrinho
    Seu carrinho está vazio

    Usamos cookies para garantir que oferecemos a melhor experiência em nosso site. 

       

    X

    Clique em um de nossos representantes abaixo para conversar no WhatsApp ou envie um email para: 📧 [email protected]

    Precisa de ajuda fale conosco?