response-envelope-enforcer
Response Envelope Enforcer
Overview
This skill validates and enforces consistent StandardSuccessResponse wrapping patterns across your app NestJS API, ensuring frontend-backend contract alignment and preventing response structure inconsistencies that cause data extraction failures.
Core Principle: All HTTP API endpoints must return responses wrapped in StandardSuccessResponse format { success: true, data: T, metadata?: ResponseMetadata }. Different response types require different handling approaches.
Problem Context
Common Issue: Controllers return data directly without wrapping in the standard API response envelope. The frontend's BaseApiService expects { success: true, data: [...] } and tries to extract the data field, but receives a raw array instead, causing extraction failures.
Root Causes:
- Controllers use different wrapping strategies without documentation
- Some explicitly wrap with
new StandardSuccessResponse(data) - Some return raw data relying on
ResponseTransformInterceptor - Special cases (WebSocket, binary files) mixed with HTTP patterns
- DTOs confused with response wrappers