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

Creating and Using DTOs

Pyyhkäise näyttääksesi valikon

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?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 3
some-alt