데브코스
채널 api 수정(+ router)
hxx_1
2024. 9. 10. 23:23
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 에 입력된 값에 따라 경로를 지정해줘서 어떤 일을 수행해야하는지 알려주는 것 같다. 그리고 요즘에 강의를 들으면서 느끼는 거지만, 정말 예외처리를 잘하는 것이 중요한 것 같다. 항상 어떤 예외가 있을까, 어떤 문제가 생길 수 있을까를 생각하면서 코딩을 해야 큰 문제가 생기는 것을 방지할 수 있지 않을까 싶다. 꼼꼼한 개발자가 되어야겠다.