인프런 커뮤니티 질문&답변
답변 13
0
제로초(조현영)
지식공유자
req.body.content가 null입니다.
즉 프론트에서 백엔드 /api/post로 보낼 때 content 부분이 제대로 전달되지 않고 있습니다. 프론트 쪽 오타도 확인해보셔야겠습니다.
0
지니
질문자
match 오류를 보고 해시태그 관련 코드를 주석처리하고 실행시켜보니 뜨는 에러입니다.
// 게시물 올리기 route
router.post('/',isLoggedIn, async (req, res, next) => { // POST /api/post : 게시글올리기라우터
try {
// const hashtags = req.body.content.match(/#[^\s]+/g);
const newPost = await db.Post.create({
content: req.body.content, // ex) '제로초 파이팅 #구독 #좋아요 눌러주세요'
UserId: req.user.id,
});
// if (hashtags) {
// const result = await Promise.all(hashtags.map(tag => db.Hashtag.findOrCreate({
// where: { name: tag.slice(1).toLowerCase() },
// })));
// console.log(result);
// await newPost.addHashtags(result.map(r => r[0]));
// }
const User = await newPost.getUser();
newPost.User = User;
res.json(newPost);
const fullPost = await db.Post.findOne({
where: { id: newPost.id },
include: [{
model: db.User,
}],
});
res.json(fullPost);
} catch (e) {
console.error(e);
next(e);
}
});
0
0
지니
질문자
.. 오타 images로 고치고나서 뜨는 에러메세지입니다
// 게시물 올리기 route
router.post('/',isLoggedIn, async (req, res, next) => { // POST /api/post : 게시글올리기라우터
try {
const hashtags = req.body.content.match(/#[^\s]+/g);
const newPost = await db.Post.create({
content: req.body.content, // ex) '제로초 파이팅 #구독 #좋아요 눌러주세요'
UserId: req.user.id,
});
if (hashtags) {
const result = await Promise.all(hashtags.map(tag => db.Hashtag.findOrCreate({
where: { name: tag.slice(1).toLowerCase() },
})));
console.log(result);
await newPost.addHashtags(result.map(r => r[0]));
}
const fullPost = await db.Post.findOne({
where: { id: newPost.id },
include: [{
model: db.User,
}],
});
res.json(fullPost);
} catch (e) {
console.error(e);
next(e);
}
});
0
0
0
제로초(조현영)
지식공유자
별도의 에러 메시지는 없나요?
POST /api/post 500 위에 에러메시지가 보통 뜹니다. 401도 마찬가지이고요~
그리고 지금 /api/post/iamges 오타이네요~ images로 수정하세요
0
0
제로초(조현영)
지식공유자
401은 unauthorized라서 로그인이 안 되어있는 상태입니다. 이미 로그인을 한 경우라면 프론트에서 백엔드로 보내는 쿠키가 제대로 전달이 안 되는 것 같습니다. 위에 POST /api/post에서 500에러도 나는 것 같은데 그 에러도 확인 가능하시면 보여주시면 좋을 것 같네요.
0
0
0
0









