mysql(3) 회원가입 시 정보 중복확인

Creating the dots·2021년 10월 5일
0

project-1-dagachi

목록 보기
3/11

회원가입을 할때, 아이디와 닉네임 등을 작성하고 중복확인한다.
회원가입 버튼과 별개로 중복확인 버튼이 있기 때문에, 구분해서 api를 작성했다.
구현한 로직은 다음과 같다.

const db = require("../../db");

module.exports = {
  checkId: async (req, res) => {
    try {
      const sql = "SELECT userId FROM users WHERE userId=?";
      const params = [req.body.userId];
      db.query(sql, params, (err, result) => {
        if (err) throw err;
        else {
          if (result.length === 0) {
            res
              .status(200)
              .json({ data: null, message: "사용가능한 아이디입니다" });
          } else {
            res
              .status(200)
              .json({ data: result, message: "이미 사용중인 아이디입니다" });
          }
        }
      });
    } catch (err) {
      throw err;
    }
  },
  checkNickname: async (req, res) => {
    try {
      const sql = "SELECT nickname FROM users WHERE nickname=?";
      const params = [req.body.nickname];
      db.query(sql, params, (err, result) => {
        if (err) throw err;
        else {
          if (result.length === 0) {
            res
              .status(200)
              .json({ data: null, message: "사용가능한 닉네임입니다" });
          } else {
            res
              .status(200)
              .json({ data: result, message: "이미 사용중인 닉네임입니다" });
          }
        }
      });
    } catch (err) {
      throw err;
    }
  },
};

아이디 중복확인 버튼 클릭시 checkId 함수가 동작한다. 데이터베이스에 아이디가 존재하면 이미 사용중인 응답객체(res)의 message에 "이미 사용중인 아이디입니다"라고 보내고, 존재하지 않는다면 "사용가능한 아이디입니다"라고 보낸다.

profile
어제보다 나은 오늘을 만드는 중

0개의 댓글