Written on
·
328
0
안녕하세요 선생님. 로그인 후 게시글 등록할 때 에러가 떴는데 해결방법을 몰라 질문 드립니다.
at async C:\Users\내컴\Desktop\project\myback\routes\post.js:9:21 {
errors: [
ValidationErrorItem {
message: 'content cannot be an array or an object',
type: 'string violation',
path: 'content',
value: [Object],
origin: 'CORE',
instance: [Post],
validatorKey: 'not_a_string',
validatorName: null,
validatorArgs: []
}
]
}
SequelizeValidationError: string violation: content cannot be an array or an object
at InstanceValidator._validate (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\instance-validator.js:50:13)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async InstanceValidator._validateAndRunHooks (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\instance-validator.js:60:7)
at async InstanceValidator.validate (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\instance-validator.js:54:12)
at async model.save (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\model.js:2368:7)
at async Function.create (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\model.js:1344:12)
at async C:\Users\내컴\Desktop\project\myback\routes\post.js:9:21
POST /post 500 19.803 ms - 1083
에러 메시지가 이렇게 떴는데,
에러메시지가 가리키는 부분의 코드가
router.post('/', isLoggedIn, async(req, res, next) => {
try{
const post = await Post.create({
content: req.body.content,
UserId: req.user.id
});
const fullPost = await Post.findOne({
where: {id: post.id},
include: [{
model: Image
},{
model: Comment,
include: [{
model: User,
attributes: ['id', 'nickname']
}]
},{
model: User,
attributes: ['id', 'nickname']
}]
});
res.status(201).json(fullPost);
}
catch(error){
console.error(error);
next(error);
}
});
이렇거든요. 저기서 에러메시지가 말하는 content가 배열이나 객체가 될 수 없다고 하는게 무슨 말인지 모르겠습니다ㅠㅠ
배열 혹은 객체의 형태로 입력되었다는 말인가요?
saga의 post.js 에서
이 부분때문에 문제라고 해도
이렇게 수정하니까 Post.content는 null이 될 수 없다는 에러가 뜨는데 어떻게 해결할 수 있을까요?