Ana içeriğe geç

Hata Kodları

Merkezî hata yönetimi: backend/src/middlewares/error.middleware.ts.

Davranış

  1. Yanıt zaten gönderildiyse hata next'e devredilir.
  2. Hata bir HttpError ise durum kodu ve mesajı olduğu gibi yansıtılır.
  3. Gövde çözümleyici (body-parser) hatası ise 400 döner.
  4. 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).