Development/Node.js

Express request body undefined, empty({}) problem

사탕공방 2020. 8. 28. 12:28

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으로 지정해주지 않았기 때문에 발생한 문제였습니다.

headers에 Content-Type을 실어서 보냅니다.

참고링크: 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를 얻을 수 있습니다.