Express request body undefined, empty({}) problem
node에서 express를 사용하고 있는데 문제가 발생하였습니다.
1. post 수신시 req의 body가 undefined
2. undefined를 해결하였더니 body가 {}
어안이 벙벙해진..
1. req의 body가 undefined일 때 해결법
- body-parser가 적용되지 않았기 때문에 생긴 문제더군요.
- 이전에는 body-parser를 설치했어야 되었나 봅니다만 현재는 express에 내장된거 같습니다.
2. req의 body가 {}일 때 해결법
- 보내는 쪽에서 Content-Type을 application/json으로 지정해주지 않았기 때문에 발생한 문제였습니다.
참고링크: http://expressjs.com/en/resources/middleware/body-parser.html
Express body-parser middleware
body-parser Node.js body parsing middleware. Parse incoming request bodies in a middleware before your handlers, available under the req.body property. Note As req.body’s shape is based on user-controlled input, all properties and values in this object a
expressjs.com
위의 과정들을 거치면 아래와 같이 정상적으로 request의 body를 얻을 수 있습니다.