인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

뉸뉴's profile image
뉸뉴

asked

[Renewal] Creating NodeBird SNS with React

게시글 작성 에러 질문

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이 될 수 없다는 에러가 뜨는데 어떻게 해결할 수 있을까요?

Next.jsreduxexpressreactnodejs

Answer 1

0

zerocho님의 프로필 이미지
zerocho
Instructor

console.log(req.body.content) 해보시면 알겠죠?? 프론트에서도 console.log(data)해보시고요.

뉸뉴's profile image
뉸뉴

asked

Ask a question