Como implementar tratamento de erros em Backend
Prompt gerado automaticamente para Tratamento de erros em Backend
5.0
33 usos
ChatGPT
"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
Como Usar este Prompt
1
Clique no botão "Copiar Prompt" para copiar o conteúdo completo.
2
Abra sua ferramenta de IA de preferência (ChatGPT e etc.).
3
Cole o prompt e substitua as variáveis (se houver) com suas informações.
Outros prompts de Backend
Continue explorando prompts nesta categoria.
Estratégias de tratamento de erros em Backend
Prompt gerado automaticamente para Tratamento de erros em Backend
Guia para testing e tdd em Backend
Prompt gerado automaticamente para Testing e TDD em Backend
Guia para deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend