๐๏ธํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ์ฝ์ค/TIL
[๋ฐ๋ธ์ฝ์ค] ์ ํจ์ฑ ๊ฒ์ฌ: express-validator ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํํ์
2025. 5. 1. 20:57
์ ํจ์ฑ ๊ฒ์ฌ์ express-validator ์ฌ์ฉํ๊ธฐ
์ ํจ์ฑ ๊ฒ์ฌ๋?
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๊ตฌํ๋ ์กฐ๊ฑด์ ๋ง๋์ง ํ์ธํ๋ ๊ณผ์ ์ ๋๋ค.
express-validator ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Express์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฏธ๋ค์จ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค.
์ฌ์ฉ ์์
์ฑ๋ ๋ฑ๋ก API์์์ ์ ํจ์ฑ ๊ฒ์ฌ ๊ตฌํ:
.post(
[
// userId ํ๋ ๊ฒ์ฆ
body("userId")
.notEmpty()
.isInt()
.withMessage("์ซ์ ์
๋ ฅ ํ์"),
// name ํ๋ ๊ฒ์ฆ
body("name")
.notEmpty()
.isString()
.withMessage("๋ฌธ์ ์
๋ ฅ ํ์"),
// ๊ฒ์ฆ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ ๋ฏธ๋ค์จ์ด
validator,
],
(req, res) => {
const { name, userId } = req.body;
// ... ๋๋จธ์ง ๋ก์ง
}
)
๊ฒ์ฆ ๋ฏธ๋ค์จ์ด
function validator(req, res, next) {
const err = validationResult(req);
if (!err.isEmpty()) {
return res.status(400).json(err.array());
}
next();
}
express-validator๋ ๋ผ์ฐํฐ ํธ๋ค๋ฌ์ ๋ฏธ๋ค์จ์ด๋ก ์ ๋ฌ๋์ด ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๊ณ , ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ 400 ์๋ฌ๋ฅผ ๋ฐํํฉ๋๋ค.