@Catch() & ExceptionFilter este o componentă esențială în ecosistemul NestJS. Definirea filtrelor globale sau locale pentru capturarea și formatarea personalizată a excepțiilor HTTP.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
import { ExceptionFilter, Catch, ArgumentsHost, HttpException } from '@nestjs/common';
@Catch(HttpException)
export class CustomHttpFilter implements ExceptionFilter {
catch(exception: HttpException, host: ArgumentsHost) {
const ctx = host.switchToHttp();
const response = ctx.getResponse();
const status = exception.getStatus();
response.status(status).json({
cod: status,
mesaj: exception.message,
data: new Date().toISOString()
});
}
}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.
Întrebări & Exemple de Cod:
@Catch() & ExceptionFilterAi o nelămurire despre utilizarea comenzii
@Catch() & ExceptionFiltersau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.