Como implementar tratamento de erros em Backend

Prompt gerado automaticamente para Tratamento de erros em Backend

5.0
33 usos
ChatGPT
Usar no 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

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.

Compartilhe

Gostou deste prompt? Ajude outras pessoas a encontrá-lo!

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