Seongwon Lim

[node.js] Koa-bodyparser 설치 및 사용 방법 본문

Node.js

[node.js] Koa-bodyparser 설치 및 사용 방법

limsw 2022. 5. 9. 20:31
반응형

서론

이번 포스팅 글에서는 이전에 구현한 라우팅을 이용해서 API를 구현할 때 발생하는 undefined error 를 해결하는 방법에 대해서 살펴보고자 한다.

 

익스프레스 환경에서도 req.body에 JSON 데이터를 담아서 보낼 때 undefined 에러가 발생하는 경우가 있었고 이 경우에는 body-parser 모듈을 이용해서 해결했었다. 익스프레스와 달리 코아에서도 코아 환경에서 사용할 수 있는 body-parser 모듈을 제공하고 있는데 설치 방법과 사용법에 대해서 살펴보고자 한다.

모듈 설치하기

  • npm install koa-bodyparser --save

사용 방법

const bodyParser = require('koa-bodyparser');
app.use(bodyParser());

모듈을 설치한 후 2줄의 코드를 index.js 파일에 붙여넣으면 된다.

결과 예시

먼저 POST method 코드를 다음과 같이 구현했다.

router.post('', (ctx, next) => {
    ctx.response.status = 201;
    ctx.response.body = {
        name: ctx.request.body.name,
        email: ctx.request.body.email,
        sex: ctx.request.body.sex
    }
});

익스프레스 req.body.name 과 같이 Request Body의 데이터를 정의했다면 코아에서는 ctx.request.body.name과 같이 정의한다.

그리고 포스트맨을 이용해서 다음과 같이 Body를 구성 후 요청을 보냈다.

모듈 설치 전 결과

name 속성이 정의되지 않았다는 오류가 출력된 것을 확인할 수 있다. 모듈을 설치 후 코드를 적용하고 다시 요청을 보내보면?

모듈 설치 후 결과

결과로 JSON 데이터가 잘 들어오는 것을 확인할 수 있다.


출처

Comments