9/6_17일차

자햐·2024년 9월 12일

교육

목록 보기
16/51

핸들러, if(객체) : if 긍정문, route

핸들러(Handler)란?
-> 요청에 의해 실행되는 메서드
-> HTTP request가 날아오면 자동으로 호출되는 메소드

node : 콜백함수로, app.HTTPMETHOD(path, 핸들러)

cf.스프링 : 컨트롤러

// 클린코드 형식으로 작성해보자

json array, find(), 예외 처리

"찐 예외처리"

== vs ===

YouTuber demo 예외 고도화 : map은 undefined가 아니에요.

map객체는 아무리 안에 요소가 없어도 db가 비었다고(undefined) 뜨지 않는다.

따라서.. if(db)라고 x -> if(db.size !== 0)이라고 써야한다.(db가 비어있지 않을 경우 = db가 있을 경우)

// post를 제외한 모든 method에 .status(404)를 추가함

-> POST에 대한 예외처리가 필요하다!

YouTuber demo 예외 고도화 : post

HTTP(인터넷 상에서 통신할 때 사용하는 규약) 안에 작성되어서 들어가는 "상태"

  • 조회/수정/삭제 성공 : 200
  • 등록 성공 : 201
  • 찾는 페이지(리소스) 없음 (url에 맞는 api 없음) : 404
  • 요청한 연산(처리)을 할 때 필요한 데이터(req)가 덜 왔을 때 : 404
  • 서버가 죽었을 때(서버가 크리티컬한 오류를 맞았을 때) : 500

-> 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개를 가질 수 있다.
채널
- 채널 생성
- 채널 수정
- 채널 삭제


  • 미리 만들어둔 UI

로그인 페이지
(1) 화면 완성 API X
(2) 로그인 버튼 클릭 => id, pwd 로그인 시켜줄 API

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

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

회원 API 설계

회원 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 메인 페이지로 갈 것

회원 API 코드 틀

회원가입 구현

회원 개별 조회, 회원 개별 삭제

profile
산업과 예술의 만남에 있는 예비 개발자..

0개의 댓글