2024.07.25 - [NodeJs] - Node js 회원가입 기능 구현(2)
Node js 회원가입 기능 구현(2)
model/user.js //회원가입exports.insertUser = async(data) => { const conn = await dbConnection() try { const query = "INSERT INTO user (id, name, email, phoneNumber, password) VALUES(?,?,?,?,?)" const values = [data.id, data.name, data.email, data.phon
dbsxo4083.tistory.com
코드 설명 및 구조 설명은 이전 블로그 포스팅을 참고하여 주시기 바랍니다.
modes/user.js
exports.login = async (id,password) =>{
let conn;
try{
conn = await dbConnection()
const query = "SELECT COUNT(*) AS count FROM user WHERE id =? AND password = ?" //아이디를 찾는 sql문
const [rows] = await conn.execute(query,[id,password])
return rows[0].count > 0;
} catch(error){
console.error('Error checking user credentials:', error.message)
throw error;
} finally {
await conn.end()
}
}
server/userService.js
exports.login = async (id,password) =>{
try{
if(!id){
return {error_message: 'Null Id'}
}
if(!password){
return {error_message: 'Null Password'}
}
const isValidUser = await userModel.login(id, password);
if (!isValidUser) {
return { success: false, error_message: 'Invalid ID or password' };
}
return { success: true, message: "Login success" };
} catch(error){
console.error('Error registering user:', error.message);
return { success: false, error: error.message };
}
}
controller/userController.js
exports.login = async (req, res) => {
const { id, password } = req.body
// const id = req.body.id
// const password = req.body.password
try{
const result = await userService.login(id,password)
console.log('리절트',result)
if (result.success){
res.status(200).json({
status: 200,
success: true,
data: result.message
})
}
if(result.error_message==='Invalid ID or password'){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
if(result.error_message==="Null Id"){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
if(result.error_message==="Null Password"){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
} catch (error) {
res.status(500).json({ error: 'Internal server error' });
}
}
routes/userRoutes.js
const express = require('express')
const router = express.Router()
const userController = require('../controller/userController')
router.post('/auth',userController.register)
router.post('/login',userController.login)
module.exports = router;
🔎API Tester로 테스트하기
저는 크롬확장프로그램인 Talend API Tester를 사용하였습니다.
로그인 성공시

로그인 실패시

'NodeJs' 카테고리의 다른 글
| [Node JS] JWT 토큰 인증 구현 (0) | 2024.07.25 |
|---|---|
| [Node JS] JWT토큰 구현하기 (0) | 2024.07.25 |
| [Node JS] 아이디 찾기 기능 구현 (0) | 2024.07.25 |
| [Node JS] 회원가입 기능 구현(2) (0) | 2024.07.25 |
| [Node JS] 회원가입 기능 구현(1) (1) | 2024.07.24 |