postman이란 서버 API를 테스트 하는 것이다.
회원가입에 넣을 key에 userid, userpw, username, userage를 작성하고 value에 해당하는 원하는 값을 넣어준다.
터미널에 연결을 하고 send를 클릭하면 회원가입 성공시 회원가입 성공이라고 뜬다.
regist에서 rest부분 작성한 코드
router.route('/member/regist').post((req, res) => {
console.log('/member/regist 호출!');
const userid = req.body.userid;
const userpw = req.body.userpw;
const name = req.body.username;
const age = req.body.userage;
console.log(`매개변수 : userid:${userid}, userpw:${userpw}, name:${name}, age:${age}`);
if(database){
addMember(database, userid, userpw, name, age, (err, result) => {
if(err){
console.log(err);
res.writeHead('200', {'content-type':'text/html;charset=utf8'});
res.write('<h2>회원가입 실패</h2>');
res.write('<p>서버 오류 발생! 회원가입에 실패했습니다.</p>');
res.end();
}
if(result.insertedCount > 0){
res.writeHead('200', {'content-type':'text/html;charset=utf8'});
res.write('<h2>회원가입 성공</h2>');
res.write('<p>회원가입이 성공적으로 되었습니다.</p>');
res.end();
}else{
res.writeHead('200', {'content-type':'text/html;charset=utf8'});
res.write('<h2>회원가입 실패</h2>');
res.write('<p>회원가입에 실패했습니다.</p>');
res.end();
}
});
}else{
res.writeHead('200', {'content-type':'text/html;charset=utf8'});
res.write('<h2>데이터베이스 연결 실패</h2>');
res.write('<p>mongodb 데이터베이스에 연결하지 못했습니다.</p>');
res.end();
}
})
회원가입 DB 저장 부분
const addMember = function(database, userid, userpw, name, age, callback){
console.log('addMember 호출!');
const members = database.collection('member');
members.insertMany([{userid:userid, userpw:userpw, username:name, age:age}], (err, result) => {
if(err){
console.log(err);
callback(err, null); // err:err object, result:null
return;
}
if(result.insertedCount > 0){
console.log(`사용자 document ${result.insertedCount} 추가 되었음!`);
}else{
console.log(`사용자 document 추가되지 않음!`);
}
callback(null, result);
});
}