데브코스

채널 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()
    }
  })

왼) testId1 로 생성한 채널, 오) testId2 로 생성한 채널

 

➡️ 각 회원의 채널을 조회할 수 있도록 변경을 수행했다. 


🌟 배운 점

오늘은 라우터에 대해 배웠다. 이전에 라우터라고 하면 뭔가 이해가 안가고 어려운 것이라고 생각했는데 쉽게 생각해보니 그냥 url 에 입력된 값에 따라 경로를 지정해줘서 어떤 일을 수행해야하는지 알려주는 것 같다. 그리고 요즘에 강의를 들으면서 느끼는 거지만, 정말 예외처리를 잘하는 것이 중요한 것 같다. 항상 어떤 예외가 있을까, 어떤 문제가 생길 수 있을까를 생각하면서 코딩을 해야 큰 문제가 생기는 것을 방지할 수 있지 않을까 싶다. 꼼꼼한 개발자가 되어야겠다.