Article image
Felipe/Felipe
Felipe/Felipe28/04/2025 10:54
Compartilhe

Adicionando melhorias as mensagens de erro do cliente HTTP no Laravel

  • #PHP
  • #Boas práticas
  • #Laravel

Como aprimorar as mensagens de erro do cliente HTTP no Laravel? Essa é uma questão frequentemente negligenciada, mas que pode ter um impacto significativo na experiência do usuário e na manutenção do código, neste post, quero compartilhar algumas das minhas descobertas e práticas recomendadas.

Quando lidamos com APIs, é comum nos depararmos com erros, no entanto, as mensagens de erro padrão que o Laravel fornece podem ser muito genéricas e não informativas, isso pode dificultar a identificação do problema real, tanto para desenvolvedores quanto para usuários finais. Uma das abordagens que utilizei foi a modificação do arquivo de configuração config/http.php, a ideia aqui é substituir as mensagens padrão por aquelas que são mais descritivas e que fornecem contexto suficiente para que o desenvolvedor possa entender rapidamente o que deu errado.

Por exemplo, ao invés de simplesmente retornar um erro 404, podemos criar uma mensagem que explique que o recurso solicitado não foi encontrado e sugerir ações alternativas, isso pode ser feito da seguinte maneira: 404' => 'O recurso solicitado não foi encontrado. Verifique a URL ou entre em contato com o suporte.'

Outra técnica que implementei foi o uso de blocos try-catch para capturar exceções específicas, isso me permitiu fornecer mensagens de erro mais detalhadas com base no tipo de exceção lançada, por exemplo: try {
} catch (ModelNotFoundException $e) { return response()->json(['error' => 'Modelo não encontrado.'], 404); } catch (QueryException $e) { return response()->json(['error' => 'Erro na consulta ao banco de dados.'], 500); }

Dessa forma, cada tipo de erro é tratado de maneira adequada, permitindo uma resposta mais clara e específica. Então, Ao utilizar esse tipo de abordagem, conseguimos não apenas facilitar a vida de nós desenvolvedores, mas também oferecer uma melhor experiência aos usuários finais.

Compartilhe
Comentários (0)