사고쳤어요
[Node.js] 유튜브 서비스 - 회원가입 기능(POST) 본문
let userDb = new Map();
var id = 1;
app.post("/join", (req, res) => {
let body = req.body;
let userId = body.id;
let password = body.password;
let userName = body.name;
let isIdDuplicated = false;
for (let value of userDb.values()) {
if (value.id === userId) {
isIdDuplicated = true;
break;
}
}
// 정보가 누락된 경우 예외 처리
if (!userId) {
res.status(400).json({
message: "id가 포함되어있지 않습니다.",
});
} else if (!password) {
res.status(400).json({
message: "password가 포함되어있지 않습니다.",
});
} else if (!userName) {
res.status(400).json({
message: "name이 포함되어있지 않습니다.",
});
}
// 중복된 id인 경우 예외 처리
else if (isIdDuplicated) {
res.status(400).json({
message: "이미 가입되어있는 id입니다.",
});
} else {
userDb.set(id++, body);
res.status(201).json({
message: `${userName}님 환영합니다`,
});
}
});
회원가입은 POST를 통해서 진행되며 req로 body(userId, pw, name)을 요구한다.
위 값들이 존재하지 않는 경우와, 이미 존재하는 userId로 회원가입을 시도하는 경우의 예외 처리를 진행해주었다.
실제로 같은 데이터로 두 번 회원가입을 시도해보도록 하자.
먼저 id, password, name을 모두 입력한 뒤 POST를 하면 정상적으로 처리되는 것을 볼 수 있다.
하지만 이후에 다시 요청을 보내면 이미 가입되어 있는 id라는 문구가 나오며 예외 처리가 잘 된 것을 볼 수 있다.
'웹 풀스택' 카테고리의 다른 글
[Node.js] 유튜브 서비스 - 로그인(POST) (0) | 2025.02.20 |
---|---|
[Node.js] 유튜브 서비스 - 회원 개별 조회, 탈퇴(GET, DELETE) (0) | 2025.02.19 |
[Node.js] 과일 조회 서비스 구현하기 (0) | 2025.02.19 |
[Node.js] 유튜버 조회 서비스 - 유튜버 수정(PUT) (0) | 2025.02.18 |
[Node.js] 유튜버 조회 서비스 - 유튜버 삭제(DELETE) (0) | 2025.02.18 |