Contrat de réponse API
Les erreurs métier sont représentées par des classes dédiées qui héritent de ApiException.
Le pattern attendu est :
export class TenantNotFoundException extends ApiException {
constructor() {
super(ApiCodeResponse.TENANT_NOT_FOUND, HttpStatus.NOT_FOUND);
}
}
Les réponses applicatives sont normalisées par ApiInterceptor, sauf si le handler utilise @SkipApiTransform().
Routes concernées par @SkipApiTransform() dans le snapshot actuel :
GET /health/liveGET /health/readyGET /health
Règle de maintenance
- Ajouter un nouveau code dans
ApiCodeResponse. - Créer une exception dédiée.
- Ne pas lever directement
ForbiddenException,NotFoundException, etc. dans la logique métier.