현재 우리 코드는 매우..매우 깨끗하지 않다
사유 : if-else가 너무 많고..그래요
유효성 검사 : validation
"사용자가 입력한 값"의 유효성(=타당성)을 확인하는 것
(유효성 예시)
1. userId : 값이 있어야, 숫자여야..
2. 사람 name : 숫자X, 문자열, 2자 이상..
등등..
외부 모듈 사용할 것!
-> if-else로 유효성을 따지기엔 너무 if-else 잔치가 됩니다 ㅎㅎ
-> "express-validator" 사용할거에요!
npm install express-validator
터미널에 해서 설치함
유효성 검사 위에 추가
라고 유효성 검사를 진행해줄 수 있다.
name의 유효성검사 추가(스트링이어야 한다는 조건 추가)
return을 통해 바로 끝내기(break를 생각했지만 return을 해주면 됐다.)
(코드) - 채널 개별 생성 부분
(name과 userId의 유효성 검사를 모두 통과하지 못한 예시 사진)
오류 : 없는 userId로 req를 보낼 경우 db에 등록이 안됨. 그러나 오류 알림이 뜨지 않고, 201로 뜨기 때문에 혼동이 생김.
심지어? auto_increment속성으로 인해 위의 사진처럼 id가 몇 번 등록이 안됐음에도 불구하고 늘어난 숫자로 다음 내용으로 db에 등록이 됨.
이를 해결해보자!
여기서 사용하고 있지 않은 변수 : err (에러 변수)
이걸 이용해볼거다
고친 후(err에 조건을 더해준 뒤)
postman으로 userId가 이상하게 req를 보내보면 다음과 같은 에러 메세지를 콘솔에 띄우고 설정한 400의 bad request가 뜸을 볼 수 있다
리팩토링 (채널 개별 수정 전까지 한 내용)
미들웨어 : 함수를 모듈화한 것(그냥 모듈이라고 생각하면 됨)
다른 곳에서 사용할 수 있도록 만드는 것
-> 다음 포스트에서 이어서