express 설치 후
post로 JSON 객체를 보내려는데, undefined 가 뜬다
post 라우터
app.post('/cats', (req: express.Request, res: express.Response) => {
try {
const data = req.body
console.log(data)
res.status(200).send({
success: true,
data : {}
})
}
catch(error){
res.status(400).send({
success: false,
error: error.message
})
}
})
포스트맨에서 테스트한 내용
백엔드 라우터에서 콘솔로그로 받은 req.body -> undefined
이는 아주 간단하게 해결된다
express가 json 데이터를 읽을 수 있도록 내장 미들웨어를 설정해 주기만 하면 된다
app.use(express.json())
express 라우터를 구성할 때 주의점은 순서가 중요하다는 것이다.
먼저 실행되어야 할 미들웨어들을 위로 올리고,
차례로 라우터들을 배치하고,
마지막에 not found 에러 처리를 위한 미들웨어 등 후순위 미들웨어를 배치한다
json 미들웨어를 추가하고 나서 정상적으로 req.body 가 찍히는 모습 확인
'programming > Web' 카테고리의 다른 글
구글 로그인 라이브러리 변경 - 1. Google Identity OAuth 개념 (0) | 2023.01.18 |
---|---|
REST API 메서드 예시 (GET/POST/PUT/PATCH) (0) | 2022.08.21 |
Restfull 웹 API 디자인(1) (0) | 2022.08.20 |
HMAC : API 통신 클라이언트 무결성 검증 방법 (0) | 2022.06.28 |
AWS - EC2(EBS/AZ/ELB) (0) | 2022.04.06 |