-
[데브코스] 28일차 TILTIL/교육 내용 정리 2024. 5. 5. 14:03
Server와 router의 역할
- Server : Request를 받습니다.
- Router : Request의 URL에 따라 루트(route)를 정해줍니다. = 어디로 갈지 길만 정해줘요!
- 각 루트(route)에서 할 일은 그럼 누가 정하나요 ❓
Node.js Express에서의 라우팅 ❓
Request(요청)dl 날아왔을 때, 원하는 경로에 따라 적절한 방향으로 경로를 안내해주는 것.
UR, method → 호출 “콜백함수”
user-demo.js 모듈화
// 삭제 const app = express() app.listen(7777)
// 추가 const router = express.Router() //app -> router
rename, channel-demo 연결 모듈 이름 변경, use URL설명
위와 같은 방법으로 함.
회원마다 채널 가지게 ERD 그려보기
회원
id user_id pwd name
1 testId1 1234 tester1 2 testId2 5678 tester2 채널
id channel_title user_id (누구의 채널인지.) sub_num video_num
1 달려라송아 testId1 2 뛰어라송아 testId1 3 걸어라 testId2 채널 API 설계 수정, 채널 생성 테스트
채널
- 채널 생성 ✅
- POST /channels
- req : body channelTitle, userId cf. userId는 body가 아니라 header로 받아야한다. JWT
- res 201 : ${channelTitle}님 채널을 응원합니다.] 👉다른 페이지..ex)채널관리페이지
- POST /channels
- 채널 개별 수정 ✅
- PUT /channel/:id
- req : URL (id), body channelTitle
- res 200 : 채널명이 성공적으로 수정되었습니다. 기존 : ${} ->수정 ${} 👉화면도 나중.....
- PUT /channel/:id
- 채널 개별 삭제 ✅
- DELETE /channels/:id
- req : URL(id)
- res 200 : 삭제 되었습니다. 👉 메인페이지
- DELETE /channels/:id
- 회원의 채널 전체 조회 ✅
- GET /channels
- req : body(userId)
- res 200 : 채널 전체 데이터 list, json array
- GET /channels
- 채널 개별 조회 ✅
- GET /channels/:id
- req : URL (id)
- res 200 : 채널 개별 데이xj
- GET /channels/:id
<aside> 💡 무조건 있는 userId 로 채널을 만든다 생각.
</aside>
회원 채널 조회, id 없으면 예외처리
//channels.js .get((req, res) =>{ if(db.size){ var {userId} =req.body var channels = [] // json 형태 if(userId == undefined){// 1) userId가 body에 없으면 res.status(404).json({ message : `로그인이 필요한 페이지입니다.` }) }else{ db.forEach(function(value, key){ if(value.userId === userId){ channels.push(value) } // 2) userId가 가진 채널이 없으면 }) if(channels.length == 0){ res.status(404).json({ message : `조회할 채널이 없습니다.` }) }else{ res.status(200).json(channels) } } } // 하나씩 맵에서 꺼내서 channels에 넣어줄거 else{ res.status(404).json({ message : `조회할 채널이 없습니다.` }) } })
id 없으면 예외처리, if문 고도화
//chaennel.js function notFoundChannel(){ res.status(404).json({ message :`채널 정보를 찾을 수 없습니다.` }) }
if문 고도화 → 논리연산자를 이용해
회원 API
- 로그인 POST(post는 body가 있다..) /login
- req : (BODY) id, pw
- res : $(name)님 환영합니다. 👉 메인 페이지 (고도화)
- 회원 가입 POST /join
- req : (body)id, pw, 이름
- res : $(name)님 환영합니다. 👉 로그인 페이지(고도화)
- 회원 정보 개별 조회 GET /users/
:id
- req :
URLbody (user id) - res : userid, name
- 회원 개별 탈퇴 DELETE /users/:id - req : URL (id)
- res : $(name)님 다음에 또 뵙겠습니다. . or 메인 페이지 ****
- 회원은 계정 당 채널 100개를 가질 수 있다.
- 채널 생성
- 채널 수정
- 채널 삭제
'TIL > 교육 내용 정리' 카테고리의 다른 글
[데브코스]42일차 TIL (0) 2024.05.20 [데브코스] 30일차 TIL (0) 2024.05.07 [데브코스] 27일차 TIL (0) 2024.05.04 [데브코스] 26일차 TIL (0) 2024.05.04 [데브코스] 25일차 TIL (0) 2024.05.04