Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Creating and Using DTOs | Working with Data
Building Backend Applications with Nest.js

Creating and Using DTOs

Desliza para mostrar el menú

Create a new file in the src folder:

create-user.dto.ts

Add the following code:

export class CreateUserDto {
  name: string;
  age: number;
}

This DTO defines the structure of the data your application expects.

Now use it 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 required fields;
  • @Body(): extracts request data;
  • CreateUserDto: ensures the data follows the defined structure.

Now send a request with data:

{
  "name": "Alice",
  "age": 30
}

The controller receives structured data based on the DTO.

Using DTOs keeps your data consistent and avoids repeating type definitions across your application.

question mark

What is the purpose of a DTO in Nest.js?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Creating and Using DTOs

Create a new file in the src folder:

create-user.dto.ts

Add the following code:

export class CreateUserDto {
  name: string;
  age: number;
}

This DTO defines the structure of the data your application expects.

Now use it 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 required fields;
  • @Body(): extracts request data;
  • CreateUserDto: ensures the data follows the defined structure.

Now send a request with data:

{
  "name": "Alice",
  "age": 30
}

The controller receives structured data based on the DTO.

Using DTOs keeps your data consistent and avoids repeating type definitions across your application.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 3
some-alt