[user์์ฑ ์ฝ๋] - ๊ฐ๋จํ๊ฒ post(signup)๊ณผ์ ๋ง ๊ธฐ๋กํด๋ณด๋ ค๊ณ ํ๋ค.
(๊ธฐ๋กํ ๊ฒ์ด ์๋ฌ ํธ๋ค๋ง ๋ฟ...)
app.use("/api/users", usersRoutes)
app.use((req, res, next) => {
return next(new ExpressError("ํ์ด์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.", 404))
})
app.use((err, req, res, next) => {
console.log("error: ", err.stack)
res
.status(err.code || 500)
.json({ message: err.message || "An unknown error occurred!" })
})
const express = require("express")
const router = express.Router()
validtaion check ๋ชจ๋
const { check } = require("express-validator")
router.post(
"/signup",
[
check("name").not().isEmpty()
check("email").normalizeEmail().isEmail(),
check("password").isLength({ min: 5 }),
],
users.signUpUser,
)
ํ์ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ง์ง ์์ ์ํ์ด๋ฏ๋ก ์ง์ ๋ฐฐ์ด์ pushํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค.
module.exports.signUpUser = (req, res, next) => {
const errors = ValidationResult(req)
if (!errors.isEmpty()) {
console.log(errors)
return next(new ExpressError("์ ํจํ์ง ์์ ๋ฐ์ดํฐ ์
๋๋ค.", 422))
}
const { name, email, password } = req.body
const createdUser = {
id: uuid(),
name,
email,
password,
}
USERS_DB.push(createdUser)
res.json({ user: createdUser })
}
validation ์ฒดํฌ๋ฅผ ํ ๊ฒฝ์ฐ
const errors = ValidationResult(req)
ํด๋น ์ฝ๋๋ฅผ ํตํด ์๋ฌ ๋ฐ์ ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์๊ณ ,
๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ์์ธ๊ฐ ๋ ์ํฉ์ ์๊ฐํ์ฌ next()์ error๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ญ์ error handling์ด ์์ง๊น์ง ์ ์ผ ์ ๊ฒฝ์ธ๊ฒ ๋ง์ ๊ฒ ๊ฐ๋ค,,,,