Performance: Query parameters
MEDIUM IMPACT
Query parameters affect how the server processes requests and can impact response time and payload size, indirectly influencing page load speed.
import { Controller, Get, Query } from '@nestjs/common'; import { IsOptional, IsString, IsInt } from 'class-validator'; class ItemQueryDto { @IsOptional() @IsString() category?: string; @IsOptional() @IsInt() limit?: number; } @Controller('items') export class ItemsController { @Get() getItems(@Query() query: ItemQueryDto) { // Validated and typed query parameters return this.itemsService.find(query); } }
import { Controller, Get, Query } from '@nestjs/common'; @Controller('items') export class ItemsController { @Get() getItems(@Query() query: any) { // Accepts all query params without validation return this.itemsService.find(query); } }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Unvalidated large query params | N/A (server-side) | N/A | Increases due to delayed response | [X] Bad |
| Validated, minimal query params | N/A (server-side) | N/A | Lower due to faster response | [OK] Good |