ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Node.js] Node.js에서 빠르고 쉽게 API서버 만들기 - 2
    개발/Javascript 2019. 3. 2. 15:47

    Node.js에서 빠르고 쉽게 API서버 만들기 - 2

    지난 포스팅에 이어서, 본격적으로 API서버를 만들어서 테스트를 해봅시다 :)

    Node.js에서 쉽게 API서버 만들기 - 1

    https://hanswsw.tistory.com/18

    파일 구조

    본격적인 작업에 앞서, 현재 프로젝트의 구조에 대해 잠깐 이야기를 하도록 하겠습니다.

    현재 구조

    이전에도 언급했듯이, express-generator을 통해 프로젝트를 생성하면, 라우터를 포함한 기본적인 구조와 파일을 자동으로 생성해 줍니다.

    이중에서, 실질적인 웹 서버 구축에 관한 파일은 bin/www와 app.js가 담당하고 있습니다.

    bin/www는 app.js에서 정의한 express에 관한 설정을 받아서 서버를 실행하게 되는데, app.js에선 어떤 설정이 되어있나 살펴봅시다 :)


    app.js


    app.js

    app.js 에선, app.use()를 통하여, 각종 미들웨어를 추가하게 됩니다.

    현재 프로젝트에선, app.use('/', indexRouter); 를 통해,

    '/' 요청이 왔을 때에는, indexRouter로 가도록 설정이 되어있습니다.

    위의 코드에서, indexRouter는 routes/index를 의미하므로, routes/index.js를 보도록 하겠습니다 :)


    routes/index.js


    index.js

    현재 index.js에선, router.get() 을 통해 '/'로 get방식의 요청이 왔을 때, render함수로 응답을 해주도록 되어있습니다.

    그러나, 우리는 API서버 구축이 목적이므로, res.status().json() 함수를 이용하도록 하겠습니다!

    res.status('HTTP 상태 코드').json('json데이터')

    status()의 괄호 안에는, 응답하고자 하는 HTTP 상태 코드를,

    json()의 괄호 안에는, 응답하고자 하는 json형식을 입력해주면 됩니다!

    router.get('/', function(req, res) {
     res.status(200).json(
      {
         "success" : true
      }
    );
    });

    저는 간단하게, 정상적인 상태를 나타내는 200 코드와 함께, "success" : true를 응답하도록 해보겠습니다.

    여기까지, 첫 번째 API를 테스트 할 준비가 다 되었습니다.


    Postman으로 테스트

    이제, 그동안 작성한 코드를, npm start 를 통해 서버를 구동시켜서, 정상 작동을 확인해보겠습니다.

    API를 테스트하는 방법은 많이 있지만, 이 포스팅에서는 Postman 을 이용합니다.

    Postman 다운로드

    https://www.getpostman.com/downloads/

    '/' 으로 GET 요청이 왔을 때, 응답을 해주는 코드를 작성했으므로.

    npm start 을 통해 서버를 실행한 후, Postman 에서 localhost:3000/ 에 GET 요청을 보내봅시다!


    요청 메소드와 url을 입력 후, Send로 테스트를 해볼 수 있습니다!

    요청 결과

    위처럼, 정상 작동하는 것을 확인해볼 수 있습니다!


    새로운 API 만들기

    다른 API를 추가하는 방법은 간단합니다.

    다시 해당하는 라우터에 가서, 요청 경로와 응답을 지정해주면 됩니다!

    router.get('/test', function(req, res) {
     res.status(200).json(
      {
         "message" : "test"
      }
    );
    });

    '/test' 으로 GET 요청이 왔을 때, "message" : "test"를 응답하는 코드를 작성해보았습니다.

    마찬가지로, Postman 에서, http://localhost:3000/test에 GET 요청을 보내보면, 정상적인 결과를 확인할 수 있습니다!




    이번 포스팅에서는, express-generator를 통해 만들어진 기본 구조에서, GET방식의 API를 만들어서 Postman으로 테스트를 해보았습니다.

    다음 포스팅에서는, POST방식의 API를 만들어서, 테스트를 해보는 과정을 진행해보겠습니다 :)

    댓글

Designed by Tistory.