웹 풀스택

[Node.js] 유튜브 서비스 - 회원 조회 서비스(DB 연결)

kevinmj12 2025. 2. 26. 20:44

https://makeaccident.tistory.com/120

 

[Node.js] 유튜브 서비스 - 회원 개별 조회, 탈퇴(GET, DELETE)

// 3. 회원 개별 조회app.get("/users/:id", (req, res) => { let { id } = req.params; id = parseInt(id); const user = userDb.get(id); if (user) { res.json({ userId: user.userId, name: user.name, }); } else { res.status(404).json({ message: `${id}에 해

makeaccident.tistory.com

이전에 회원 조회를 구현할 때는 간단하게 js 파일 내에서 Map()을 통해 회원 조회를 진행하였다.

이제 이 부분을 실제 데이터베이스에 연동하여 구현하여 보자.

// 3. 회원 개별 조회
router.get("/users/:id", (req, res) => {
  let { id } = req.params;
  id = parseInt(id);

  conn.query(`SELECT * FROM users WHERE id=${id}`, (err, rows, fields) => {
    if (err instanceof Error) {
      console.log(err);
      return;
    }

    if (rows.length) {
      res.json(rows);
    } else {
      res.status(404).json({
        message: `${id}에 해당되는 유저가 없습니다.`,
      });
    }
  });
});

query문에 WHERE id=${id}를 추가해주었고 rows에 데이터가 있는지에 따라 다른 json을 전송하도록 설정해주었다.

존재하는 1번 유저에 대한 정보는 잘 나오고, 존재하지 않는 6번 유저에 대한 정보는 나오지 않는 모습이다.