⚙️
ChatGPT intermediate

Como implementar tratamento de erros em Backend

Prompt gerado automaticamente para Tratamento de erros em Backend

2 usos Backend

Prompt completo

"Você é um engenheiro de software sênior com vasta experiência em arquitetura de microsserviços e sistemas distribuídos. Elabore um guia detalhado para desenvolvedores backend (Java/Spring Boot) sobre as melhores práticas para tratamento de erros em APIs RESTful. O guia deve abordar os seguintes pontos, com exemplos de código e justificativas para cada escolha:

1.  **Padronização de respostas de erro:** Como estruturar JSONs de erro para serem informativos, legíveis e consistentes em todas as APIs, incluindo campos essenciais como `timestamp`, `status`, `error`, `path`, `message`, e `details` (para erros de validação ou informações adicionais).
2.  **Mapeamento de exceções para status HTTP:** Apresente uma tabela com exceções comuns (ex: `EntityNotFoundException`, `IllegalArgumentException`, `MethodArgumentNotValidException`, `DataIntegrityViolationException`, `UnauthorizedException`, `ServiceUnavailableException`, `ConnectionRefusedException`) e seus respectivos códigos de status HTTP (4xx e 5xx) recomendados, explicando o porquê de cada mapeamento.
3.  **Tratamento global de exceções:** Demonstre a implementação de um `@ControllerAdvice` com `@ExceptionHandler` para capturar e tratar centralizadamente diferentes tipos de exceções, evitando boilerplate code em cada controller. Inclua exemplos para exceções customizadas e genéricas (`Exception.class`).
4.  **Erros de validação (Bean Validation):** Explique como capturar e formatar mensagens de erro de validação (usando `@Valid` ou `@Validated`) de forma amigável, retornando todos os erros de validação de uma vez, em vez de um por um.
5.  **Logging de erros:** Descreva as melhores práticas para logar erros, incluindo o nível de log apropriado (ERROR, WARN), informações essenciais a serem registradas (ID da requisição, stack trace completo, contexto do usuário/requisição) e a importância de não expor dados sensíveis nos logs.
6.  **Circuit Breaker e Retry:** Embora não seja estritamente tratamento de erro interno, discuta brevemente como padrões como Circuit Breaker e Retry (com Spring Cloud Resilience/Resilience4j) ajudam a lidar com falhas de dependências externas, prevenindo a propagação de erros

Tags relacionadas

Backend Tratamento de erros gerado-automaticamente

Como usar este prompt

1

Clique no botão "Copiar" para copiar o prompt para sua área de transferência

2

Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)

3

Cole o prompt e adapte conforme necessário para seu contexto específico