영재님~

상현님~

회원가입

import { IsEmail, IsNotEmpty, IsString, MinLength } from 'class-validator';

export class CreateUserDto {
  @IsEmail()
  email: string;

  @IsString()
  @IsNotEmpty()
  nickname: string;

  @IsString()
  @MinLength(8)
  password: string;
}

현재 회원가입까지 구현한 상태입니다.

입력된 정보를 검증하는 과정에서 class-validator를 사용해 검증하는 것이 좋을지, 따로 검증하는 로직을 만드는 것이 좋은지 여쭤보고 싶습니다.

중복 로직 잡는 것 : controller, service layer에서 잡는 게 맞다. 이런 건 외부 모듈(DB 등)에 의존적인 부분이기 때문에 DTO에서 볼 부분이 아니다.

우리의 정책 = 비즈니스 로직

로그인

Untitled

로그인을 구현하는 과정에서 다음과 같은 구조를 찾게 되었습니다. 여기서 mvc 패턴외에도 middleware, guard 등을 모두 다 사용하는 것이 좋을지 아니면 필요한 부분들만을 추출해서 사용하는 것이 좋은지 여쭤보고 싶습니다.

미들웨어, 가드 : 처음엔 안 써도 된다고 생각합니다. 근데 이왕 학습하시는 거라면, 해봐도 좋습니다. spring에서는 spring security 등의 이름으로 권한이나 인증을 관리. Nest에선 가드를 사용.

‘인증’은 비즈니스 로직(Controller, Service, Repository)과 결이 달라. 그래서 나온 게 Guard라는 놈임. 필요성을 못 느끼면 안 해도 된다. 그냥 없이 한 번 해보고 별로이다 싶으면 그때 Guard 도전해보기