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
Outros prompts de Backend
ChatGPT
Estratégias de deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend
5 usos
ChatGPT
Guia para deploy e ci/cd em Backend
Prompt gerado automaticamente para Deploy e CI/CD em Backend
5 usos
ChatGPT
Estratégias de tratamento de erros em Backend
Prompt gerado automaticamente para Tratamento de erros em Backend
6 usos