Response Validation

Docs Home | Previous: Middleware | Next: Dependency Injection

Response validation checks handler output against the @Returns schema for the final status code.

Enable Globally

const app = createApp({ schema: classValidator(), controllers: [ReportsController], validateResponse: true, });

Declare Response Contracts

@Get("/summary") @Returns(200, SummaryDto, "Summary payload") summary() { return { total: 10 }; }

Override Per Scope

  • @ValidateResponse(false) on controller
  • @ValidateResponse(true/false) on method

Method-level setting overrides controller-level setting, which overrides global createApp config.

Failure Behavior

Validation mismatch is treated as a server error and flows through errorFormatter.

Example

See examples/07_interceptors/server.ts.