[WIL] Week 9

김주희·2023년 7월 16일
0

WIL

목록 보기
9/17

1. FACTS

  • 노드 심화 2주차
  • 개인 과제 lv5 진행
  • 개인 과제 lv4 피드백

2. FEELINGS

  • 화요일부터 lv5 과제를 진행했는데, 생각보다 컨트롤러, 서비스, 레파지토리 레이어를 파악하는데 오래걸렸다.
  • 유효성 검증을 하는 부분을 서비스 레이어에 두어야 하는 건 이해가 됐는데, 어떤 방식으로 컨트롤러에게 전달을 해줘야 할지 많이 고민을 했다.

3. FINDINGS

  • 유효성 검증을 하는 부분을 처음엔 throw 처리를 해 컨트롤러에게 넘기고 (회원가입 API의 경우)회원가입에 실패했다는 메시지로 일괄 처리했었는데, 넘기지 말고 따로 처리해주는 방법이 더 좋다는 튜터님의 조언에 따라 코드를 수정했다. 구조분해할당으로 status코드와 에러메시지 항목, 그밖에 클라이언트한테 request 받는 부분을 서비스로 넘겨 서비스에서 넘겨주는 response를 컨트롤러에서 처리하는 방향으로 코드를 짰다.
// 컨트롤러
const { nickname, password, confirmPassword } = req.body;
const { status, message } = await this.userService.signupUser(
      nickname,
      password,
      confirmPassword
);

return res.status(status).json({ message });

// 서비스
...
if (!nickname || !password || !confirmPassword) {
	return {
		status: 400,
		message: '모든 항목을 입력해주셔야 합니다.',
	};
}
...

4. FUTURE

  • 아직 lv5 과제를 다 완료한게 아니기 때문에(좋아요 구현 미완료) lv4에 튜터님이 주신 리뷰대로 코드를 수정하고 좋아요 구현까지 진행해보는 걸로 하겠다.
profile
꾸준히 하자

0개의 댓글