TIL, WIL
TIL 24.06.03 - 팀과제
momomoo
2024. 6. 3. 23:01
팀원분의 개인과제 내용보면서
router.get("/user", authenticateUser, getUser);
라우터에 getUser이 있는지 확인하면서 유효성 검사를 같이 하길래
강의에서 배웠던거랑은 다른 방식이라 저기에 joi로 만든 미들웨어를 넣어도 작동이 되는지 찾아봤는데 가능하다고.
라우터 내부에 쓰는것만 생각했는데 라우터를 저렇게 쓰고 안에 내용물은 따로 폴더에 모아서 관리하는 법을 알았다.(-controllers_ 폴더)
```javascript
const express = require('express');
const router = express.Router();
const Joi = require('joi');
const { authenticateUser, getUser } = require('./yourController');
// Joi 스키마 정의
const userSchema = Joi.object({
userId: Joi.string().required()
});
// 유효성 검사 미들웨어
const validateUserQuery = (req, res, next) => {
const { error } = userSchema.validate(req.query);
if (error) {
return res.status(400).json({ error: error.details[0].message });
}
next();
};
router.get("/user", authenticateUser, validateUserQuery, getUser);
module.exports = router;