Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 변수
- var와let과const차이
- CS
- post
- 백준1654번js
- 백준13549번
- 자바
- 타입스크립트
- 객체
- 데이터베이스
- 백준13549번js
- 자바스크립트
- 리팩토링
- Node.js
- 예외처리
- 좋아요추가
- 프로그래머스
- 리액트
- gui
- 파이프라인
- 브랜치
- 깃허브
- Express
- 오픈소스
- API
- 컴퓨터공학
- 깃
- js
- npm
- 웹
Archives
- Today
- Total
Nevertheless
채널 api 수정(+ router) 본문
server
: request를 받는다.
router
: request 의 URL 에 따라 루트(route) 를 정해준다. = 어디로 갈 지 길만 알려줘요!
Node.js 에서의 라우팅이란?
request(요청) 이 날아왔을 때, 원하는 경로에 따라 적절한 방향으로 경로를 안내해주는 것
URL, method => 호출 "콜백 함수"
채널 api 수정
1️⃣ 라우터 생성 (app.js 생성)
const express = require('express')
const app = express()
app.listen(7777)
const userRouter = require('./routes/users')
const channelRouter = require('./routes/channels')
app.use("/",userRouter)
app.use("/channels",channelRouter)
users.js 와 channels.js 를 모듈화 하여 라우터를 설정해주었다.
2️⃣ 채널 전체 조회 => 각 회원의 채널 조회로 변경
router
.route('/')
.get((req, res) => { // 채널 전체 조회
let { userId } = req.body
let channels = []
if (db.size && userId) {
// 예외 처리 1) userId 가 body 에 있으면
db.forEach(function (value, key) {
if (value.userId === userId)
channels.push(value)
})
if (channels.length) { // 예외 처리 2) userId 가 가진 채널이 있으면
res.status(200).json(channels)
}
else {
notFoundChannel()
}
}
else {
notFoundChannel()
}
})
➡️ 각 회원의 채널을 조회할 수 있도록 변경을 수행했다.
🌟 배운 점
오늘은 라우터에 대해 배웠다. 이전에 라우터라고 하면 뭔가 이해가 안가고 어려운 것이라고 생각했는데 쉽게 생각해보니 그냥 url 에 입력된 값에 따라 경로를 지정해줘서 어떤 일을 수행해야하는지 알려주는 것 같다. 그리고 요즘에 강의를 들으면서 느끼는 거지만, 정말 예외처리를 잘하는 것이 중요한 것 같다. 항상 어떤 예외가 있을까, 어떤 문제가 생길 수 있을까를 생각하면서 코딩을 해야 큰 문제가 생기는 것을 방지할 수 있지 않을까 싶다. 꼼꼼한 개발자가 되어야겠다.
'데브코스' 카테고리의 다른 글
RDBMS (3) | 2024.09.11 |
---|---|
Express 구조 (0) | 2024.09.10 |
채널 api 설계 ( 생성, 조회, 삭제, 수정 ) (1) | 2024.09.09 |
회원 api 설계 ( 로그인 ) (0) | 2024.09.09 |
[JS] Object.keys() (3) | 2024.09.09 |