티스토리 뷰

회원가입과 로그인 페이지는 동작할 정도로만 간단하게만 구현했다.
사용자의 아이디, 패스워드, 이름만 받고 다른 정보들은 따로 받지 않는다.
또한 중복 체크라던가 글자수 제한 등의 조건들을 적용하지는 않았다.

 

* 회원가입 URI : /users/join (POST)

 

1. controllers/userController.js

const express = require("express")
const router = express.Router()

const userService = require("../services/userService")

// 회원가입
router.post("/join", async (req, res) => {
    const uid = req.body.uid
    const upw = req.body.upw
    const name = req.body.name

    const join = await userService.join(uid, upw, name)

    return res.json({ join })
})
  • user의 정보인만큼 URL에 바로 노출되는 GET보다 body에 담아 POST로 보내는 방식이 적합해보였다.

 

2. services/userService.js

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

const userService = {
    join: async (uid, upw, name) => {
        const conn = await db.getConnection();
    
        await conn.query("INSERT INTO users (uid, upw, name) VALUES (?, ?, ?)", [uid, upw, name]);
    
        conn.release();

        return { result: "SUCCESS" }
    },
}
  • 데이터를 직접적으로 다루는 부분이라 db 커넥션 모듈화했던 것을 사용한다.
  • 유저의 정보를 받아 DB에 users 테이블에 INSERT를 하면 끝

 


 

개선할 점

  • 아이디 중복 체크
  • 에러 핸들링
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함