Hata Kodları
Merkezî hata yönetimi: backend/src/middlewares/error.middleware.ts.
Davranış
- Yanıt zaten gönderildiyse hata
next'e devredilir. - Hata bir
HttpErrorise durum kodu ve mesajı olduğu gibi yansıtılır. - Gövde çözümleyici (body-parser) hatası ise 400 döner.
- Diğer tüm hatalar 500 olarak, hiçbir bağlantı/gizli bilgi sızdırmadan yanıtlanır.
Sunucu tarafında yalnızca hata mesajı (üretimde) veya yığın izi (geliştirmede) loglanır; parola, token ve veritabanı bağlantı bilgileri asla loglanmaz.
Kod tablosu
| Kod | Mesaj | Kaynak |
|---|---|---|
400 |
Geçersiz istek gövdesi. |
error.middleware.ts (body-parser) |
401 |
Yetkilendirme bilgisi bulunamadı. |
auth.middleware.ts |
401 |
Geçersiz yetkilendirme biçimi. |
auth.middleware.ts |
403 |
Bu işlem için yetkiniz yok. |
auth.middleware.ts (authorizeRoles) |
403 |
Bu adresten erişime izin verilmiyor. |
app.ts (CORS reddi) |
404 |
İstenen kaynak bulunamadı. |
not-found.middleware.ts |
500 |
Sunucu hatası oluştu. |
error.middleware.ts |
503 |
Veritabanı bağlantısı yok. |
health.controller.ts |
503 |
Veritabanına erişilemiyor. |
health.controller.ts |
Ayrıca servis katmanı doğrulama hatalarında HttpError ile 400, aynı ada
sahip kayıt oluşturma denemesinde 409 üretir.
CORS reddi neden 403?
CORS katmanı beklenmeyen bir sunucu hatası (500) değil, açık bir yetki reddi üretir. Mesaj, izin verilen origin listesini veya başka bir yapılandırma ayrıntısını sızdırmaz.
Teşhis ipucu
Arayüz HTTP 403'ü kullanıcıya "Bu işlem için yetkiniz bulunmuyor." olarak gösterir. LAN IP'siyle açılan geliştirme sunucusunda alınan bu hata çoğu zaman bir yetki sorunu değil, CORS origin reddidir (bkz. Güvenlik / CORS).