Class 03: Service và Data Validation
Tách business logic vào Service
Mục tiêu
Tạo Service
nest generate service usersSử dụng Service trong Controller
// users.service.ts
import { Injectable } from '@nestjs/common';
import { CreateUserDto } from './dto/create-user.dto';
@Injectable()
export class UsersService {
private users = [];
create(user: CreateUserDto) {
this.users.push(user);
return user;
}
findAll() {
return this.users;
}
}Giới thiệu class-validator và class-transformer
class-validator và class-transformerCài đặt
Mục đích
Ví dụ DTO với validate
Áp dụng Pipe để validate đầu vào
Sử dụng pipe ValidationPipe toàn cục
ValidationPipe toàn cụcCác tùy chọn hữu ích của ValidationPipe
ValidationPipeThực hành: Validate dữ liệu người dùng với DTO + Pipe
Bước 1: Tạo DTO
Bước 2: Cập nhật service
Bước 3: Cập nhật controller
Bước 4: Kiểm tra bằng Postman hoặc curl
Bài tập thực hành
Bài 1: Bổ sung trường age vào DTO
age vào DTOBài 2: Tạo DTO mới để cập nhật người dùng (UpdateUserDto)
UpdateUserDto)Bài 3: Xử lý lỗi trả về dưới dạng JSON thân thiện
Kết luận
PreviousClass 02: Routing, Controller và Dependency InjectionNextClass 04: Kết nối Database với TypeORM
Last updated