참고 사항: Nest JS 및 인터셉터의 예외 처리

서비스 제공자의 예외를 어떻게 처리합니까? 예를 들어 "UserService.ts"라는 서비스가 있습니다.

import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { User } from './users.entity';
import * as bcrypt from 'bcrypt';
import { CreateUserDto } from './dto/create-user.dto';
import { AuthenticateUserDto } from './dto/authenticate-user.dto'

@Injectable()
export class UsersService {
    constructor(
        @InjectRepository(User)
        private readonly userRepository: Repository<User>,
    ) {}

    async register(createUserDto: CreateUserDto): Promise<User | undefined> {
        const user = new User();
        const saltRounds = 10;

        user.username = createUserDto.username;
        user.email = createUserDto.email; 
        user.password = bcrypt.hashSync(createUserDto.password, saltRounds)

        return this.userRepository.save(user);
    }
}


"register"메소드에서 생성된 예외를 어떻게 처리합니까? 예를 들어 값을 삽입할 때 고유 제약 조건으로 인해 예외가 발생한 경우입니다.

현재 컨트롤러 방식으로 Interceptor Exception Mapping을 사용하고 있지만 아직까지는 직관적이지 않다고 생각합니다.

표지 이미지: Glenn Carstens-Peters

좋은 웹페이지 즐겨찾기