핸들러(Handler)란?
-> 요청에 의해 실행되는 메서드
-> HTTP request가 날아오면 자동으로 호출되는 메소드
node : 콜백함수로, app.HTTPMETHOD(path, 핸들러)
cf.스프링 : 컨트롤러
// 클린코드 형식으로 작성해보자





map객체는 아무리 안에 요소가 없어도 db가 비었다고(undefined) 뜨지 않는다.
따라서.. if(db)라고 x -> if(db.size !== 0)이라고 써야한다.(db가 비어있지 않을 경우 = db가 있을 경우)





// post를 제외한 모든 method에 .status(404)를 추가함
-> POST에 대한 예외처리가 필요하다!
HTTP(인터넷 상에서 통신할 때 사용하는 규약) 안에 작성되어서 들어가는 "상태"
-> 200번대 : 성공!
-> 400번대 : 클라이언트 잘못
-> 500번대 : 서버 잘못!
((클라이언트(사용자, 화면)과 소통을 정확하게 하기 위함))

// 201사인과 400사인을 구분해서 넣어보기
400 -> body부분에서 channelTitle이 없어도 json이 보내지고 channelTitle님 <- 부분이 undefined님 이라고 뜰 수 있음, 200 ok라고 뜨지 않고 잘못되었다고 표시해야 하기에 if(channelTitle)로 req의 body부분에 channelTitle이 존재하는지 검사하고
아니면 400 처리 해주기
회원
1) 로그인
2) 회원 가입
3) 회원 정보 조회
4) 회원 탈퇴
회원은 계정 1개당 채널 100개를 가질 수 있다.
채널
- 채널 생성
- 채널 수정
- 채널 삭제
로그인 페이지
(1) 화면 완성 API X
(2) 로그인 버튼 클릭 => id, pwd 로그인 시켜줄 API

회원 가입 페이지
(1) 화면 생성 API X
(2) 회원 가입 버튼 클릭 시, id, pwd, 이름 => 회원 가입 시켜줄 API

마이 페이지
(1) 화면 생성 => 회원 정보 조회 API
(2) 회원 탈퇴 클릭 시, 회원 탈퇴를 시켜줄 API

회원
1) 로그인 : POST /login
- req : body에 id, pwd 받기
- res : ${name}님 환영합니다. -> 메인 페이지로 갈 것
2) 회원 가입 : POST /join
- req : body(id, pwd, name)
- res : ${name}님 환영합니다. -> 로그인 페이지로 갈 것
3) 회원 개별 정보 조회 : GET /users/:id
- req : URL(id)
- res : id, name
4) 회원 개별 탈퇴 : DELETE /users/:id
- req : URL(id)
- res : ${name}님 다음에 또 뵙겠습니다. or 메인 페이지로 갈 것








