Node.js+Express+MySQL로 WebAPI를 작성해 본다 ①

소개



Node에서 React를 사용하여 프런트 작업을 하고 있고, 모처럼이라면 백엔드도 Node 사용해 JavaScript로 만들어 보자는 것으로 WebApi 서버를 만들어 보았습니다.

실행 환경


  • CentOS7
  • Node.js 8.17.0

  • Express의 동작 확인


    npm install express 에서 설치

    다음 샘플 소스를 모든 폴더에 저장

    index.js
    var exp = require("express");
    var app = exp();
    
    app.get("/",function(req,res){
        res.send("Hello,World");
    })
    
    app.listen(3000,function(){
        console.log("成功")
    })
    

    저장된 폴더로 이동하여 node index.js 에서 실행한 후 http://localhost:3000/ 로 이동합니다.

    서버가 시작되고 GET 요청에 대한 응답이 반환되었습니다.

    MySQL 설정



    우선은 MySQL에 로그인. 그 후create database ApiTest;use ApiTest;create table api_tbl(id int(5),name varchar(10));insert into api_tbl values(2,'test');위의 명령으로 데이터베이스와 테이블을 만들고 레코드를 추가했습니다.

    데이터 검색



    작성한 테이블 데이터를 GET 요청으로 실제로 가져옵니다.

    index.js
    var exp = require("express");
    var app = exp();
    
    var mysql = require("mysql");
    var connection = mysql.createConnection({
        host: "localhost",
        user: "root",
        password: "****",
        database: "ApiTest"
    });
    
    
    
    app.get("/", function (req, res) {
        connection.query('select * from api_tbl', function (error, results, fields) {
            if (error) throw error;
            res.send(results);
        });
    });
    
    //任意のポート番号
    app.listen(****, function () {
        console.log("成功");
    })
    

    위의 소스를 저장하고 node index.js 를 실행합니다. Postman을 사용하여 응답을 확인합니다.


    방금 등록한 데이터가 제대로 돌아왔기 때문에 성공입니다.

    감상



    Express를 사용하여 매우 쉽게 WebApi를 만들 수있어 감동했습니다!
    이번은 처음이라고 하는 것으로 GET 리퀘스트만의 구현이었습니다만, 향후 CRUD 모든 API를 구현해, 프론트측도 React등으로 개발하는 것으로 1개의 Web 어플리케이션을 만들려고 생각하고 있습니다.

    좋은 웹페이지 즐겨찾기