put 메소드에서 status에 아무 문자열이나 넣어도 수정이 반영 되고 있는데 FOR_SALE, SOLD_OUT만 반영하기
해결법: 코드 해설 강의를 바탕으로 schemas에서 정의해 놓은 status안에 enum에 FOR_SALE, SOLD_OUT을 넣어 해결했다.
title 값이 있으면 수정되도록 의도했는데 validation 부분에서 title 값 유무 검사를 하고 있어 의도대로 동작하지 않았다.
해결법: 사실 (!title)부분은 기존에 강의에서 알려준데로 쓰려다가 바꾼 것인데 쓰이지 않는 코드를 주석처리 해놨다가 중간에 풀린채 깃허브에 커밋된 것 같아. 지워줌으로써 해결.
비밀번호를 Number로 처리하도록 하였는데 문자열이 더 좋아보입니다.
해결법: 이 부분은 내가 약간의 오해를 한 것 같다. 기존 API 명세에 1234만 들어가 있어 "아 이건 숫자만 들 어오게 설계해야겠다." 라고 생각 후 진행하였기에 Number로 정의됐었는데 이번 코드 리뷰로 찝어 주셔서 String으로 바꾸어 schemas를 재정의했다.
입력 값에 대한 유효성 검사는 값의 유무로만 되어 있는데 이를 유효성 검사 라이브러리를 사용하여 더 엄격하게 제어해보면 좋을 것 같네요.
이 부분은 .joi를 사용하면 됐었는데 괜히 에러처리 미들웨어를 사용하다가 코드가 엉망진창이 되어 시간안에 제출을 못할까봐 시도하지 않았다. 다음 숙련 과제때부터는 유효성 검사 라이브러리를 이용해보아야겠다.
중복된 코드들이 많은데 함수를 통해 코드 중복을 줄여보시면 좋을 것 같습니다.
리팩토링을하여 코드 중복을 해결해야겠다.
회고
그래도 필수 요구 사항을 다 지키며 개인과제를 마무리 했다는생각에 뿌듯하다. 다음에는 가독성을 높인 코드를 제출해 조금 더 디테일하고 완성적인 프로젝트를 만들어야겠다.