| 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:
```typescript 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.