| 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
TransformInterceptor to wrap data in { statusCode, data, meta }.
Pagination Standards (Pro)
- DTOs: Use strict
PageOptionsDto (page/take/order) and PageDto<T> (data/meta).
- Swagger Logic: Generics require
ApiExtraModels and schema path resolution.
- Reference: See Pagination Wrapper Implementation for the complete
ApiPaginatedResponse decorator 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.