NestJS API Standards

Response wrapping, pagination, and error standardization.

ngxtm 74922b7 2 files · 2.9 KB Updated

File contents

NestJS API Standards & Common Patterns

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.

ngxtm/devkit/tree/main/rules/nestjs/api-standards commit 74922b705e

Frequently asked questions

npx skillmds@latest add ngxtm-devkit/nestjs-api-standards