name: NestJS API Standards description: Response wrapping, pagination, and error standardization. metadata: labels: [nestjs, api, pagination, response] triggers: files: ['/*.controller.ts', '/*.dto.ts'] keywords: [ApiResponse, Pagination, TransformInterceptor]
NestJS API Standards & Common Patterns
Priority: P1 (OPERATIONAL)
Standardized API response patterns and common NestJS conventions.
Generic Response Wrapper
- Concept: Standardize all successful API responses.
- Implementation: Use
TransformInterceptorto wrap data in{ statusCode, data, meta }.
Pagination Standards (Pro)
- DTOs: Use strict
PageOptionsDto(page/take/order) andPageDto<T>(data/meta). - Swagger Logic: Generics require
ApiExtraModelsand schema path resolution. - Reference: See Pagination Wrapper Implementation for the complete
ApiPaginatedResponsedecorator code.
Custom Error Response
-
Standard Error Object:
export class ApiErrorResponse { @ApiProperty() statusCode: number; @ApiProperty() message: string; @ApiProperty() error: string; @ApiProperty() timestamp: string; @ApiProperty() path: string; } -
Docs: Apply
@ApiBadRequestResponse({ type: ApiErrorResponse })globally or per controller.