express 로 REST API를 만들던 도중 난관에 봉착했다.
DB table에 데이터를 INSERT 하기 위해 unit test를 만들고 테스트를 하는데
request 객체에 body가 자꾸 undefined 가 뜨는 것이었다.
처음에는 express router 를 잘못 써서 발생하는 문제인줄 알았다.
허나, router 를 사용하지 않고 테스트를 해봤는데 여전히 증상은 동일했다.
router 사용에는 문제가 없었다.
이리저리 해결방법을 찾기위해 express 공식페이지에서 부터 stackoverflow 등 돌아다녔다.
그러던 도중 body-parser 를 알게되었고 설정에 추가했다.
이제는 해결되는가 싶었다.
결과는 기대와는 달리 참담했다.
몇시간 째 붙잡고 있어 머리가 아파 일단 노트북을 덮었다.
그리고 다음날 문제를 해결할 수 있었다.
원인은 참 단순했다.
위 캡쳐는 request body 가 넘어오지 않았을 때의 코드다.
그리고 아래는 request body 문제를 해결한 후의 코드다.
문제의 원인은
app.use(bodyParser.json()); 의 우선순위 였다.
정말 부끄러웠다...
얼마나 머릿속에 생각이 많았기에 저 한 줄 고칠생각을 못하고 있었나 싶었다.
'새롭게 알게된 것들' 카테고리의 다른 글
Subresource Integrity (SRI) 적용 경험 (0) | 2024.09.20 |
---|---|
Client-side rendering(CSR) 구조 웹사이트 검색엔진최적화(SEO) 적용 경험 (0) | 2024.08.05 |
window.history.pushState 로 추가한 뒤, 브라우저 뒤로가기 클릭 시 브라우저마다 다르게 동작하는 증상 (0) | 2024.07.25 |
Typescript Parcel Tilde(~)경로 적용 시, Resolver Error 해결 (삽질기) (2) | 2019.12.05 |
CentOS 7 설치 삽질기 (feat. boot usb) (3) | 2017.03.02 |