Bu proje, Spring Boot üzerinde Exception (Hata) Yönetimi konusunu örneklemek için hazırlanmıştır.
Amaç, uygulama genelinde meydana gelen hataları yakalayıp kullanıcıya anlaşılır ve düzenli hata mesajları sunmaktır.
Uygulamalarda beklenmeyen hataları kontrol altına almak ve:
- Kullanıcıya sade ve güvenli hata mesajı göstermek,
- Geliştiriciye detaylı hata bilgisini loglamak,
- Uygulamanın çökmesini engellemek.
- Java 17+
- Spring Boot 3.x
- Spring Web
- Spring Validation
- Lombok
src/ ├─ main/ │ ├─ java/com/example/exceptionmanagement/ │ │ ├─ controller/ │ │ ├─ exception/ │ │ │ ├─ GlobalExceptionHandler.java │ │ │ ├─ CustomException.java │ │ │ └─ ErrorResponse.java │ │ └─ service/ │ └─ resources/ │ ├─ application.properties └─ test/
Tüm hataları tek noktadan yakalayan sınıftır.
@ControllerAdvice ve @ExceptionHandler anotasyonları kullanılarak hata türlerine özel yanıtlar döner.
Kullanıcı tanımlı özel hata sınıfları.
Örneğin:
public class UserNotFoundException extends RuntimeException {
public UserNotFoundException(String message) {
super(message);
}
}
## Çıktı
{
"timestamp": "2025-10-18T12:00:00",
"status": 404,
"error": "User Not Found",
"path": "/api/users/5"
}