Introduction to DTOs
Swipe to show menu
DTO stands for Data Transfer Object.
A DTO is used to define the structure of data that your application receives or sends. Instead of using any or defining types inline, you create a separate class that describes the expected data.
Here is an example:
export class CreateUserDto {
name: string;
age: number;
}
Now use this DTO in your controller:
import { Controller, Post, Body } from '@nestjs/common';
import { CreateUserDto } from './create-user.dto';
@Controller('users')
export class UsersController {
@Post()
createUser(@Body() body: CreateUserDto) {
return body;
}
}
Here is what is happening:
CreateUserDto: defines the shape of the data;@Body(): extracts the request data;CreateUserDto: ensures the data follows a specific structure.
DTOs help you:
- Keep data consistent;
- Avoid repeating type definitions;
- Make your code easier to read and maintain.
Instead of describing data in multiple places, you define it once and reuse it.
Everything was clear?
Thanks for your feedback!
Section 1. Chapter 17
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Section 1. Chapter 17