새소식

[5분 내로] 강의실/📋 그런 rest api로 괜찮은가?

[Node.js] 5분 내로 REST API + MySQL 연동 예제

  • -
728x90

👨‍💻 블로그 방문에 감사합니다!

안녕하세요. 팀드모네입니다.

오늘은 Node.js 기반 Rest API + Mysql을 구축하는 예제를 공유드립니다.

아래 포스팅을 따라하시면, 바로 적용하실 수 있을 것입니다.

예제 실행을 위하여, MySQL에 데이터베이스와 테이블을 생성하겠습니다.

CREATE DATABASE my_db;

USE my_db;

CREATE TABLE Persons
(
id int,
name varchar(255),
age int
);

INSERT INTO Persons (id, name, age)
VALUES (1, 'John Doe', 20);

SELECT * FROM Persons;

 

예제 실행을 위하여, 아래와 같은 코드를 index.js에 적용하겠습니다.

소스코드를 자세히 보시면, DB 접속 정보가 있습니다. 이것은 적절하게 바꾸시면 될 것 같습니다.

var express = require('express');
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root1234!',
port : 3306,
database : 'my_db'
});

//DB Connection TEST
connection.connect();
connection.query('SELECT * from Persons', function(err, rows, fields) {
if (!err)
console.log('The solution is: ', rows);
else
console.log('Error while performing Query.', err);
});

// configuration ===============================================================
var app = express();
app.set('port', process.env.PORT || 1337);
app.get('/', function(req, res){
res.send('Hello World! Bro!');
});

// REST API (GET) ==============================================================
const courses = [
{ id: 1, name: "courses1" },
{ id: 2, name: "courses2" },
{ id: 3, name: "courses3" }
];
app.get("/api/courses", (req, res) => {
res.send(courses);
});

// REST API (GET, MYSQL Connection) ========================================================
app.get('/api/persons', function(req, res){
connection.query('SELECT * FROM persons', function(err, rows) {
if(err) throw err;

console.log('The solution is: ', rows);
res.send(rows);
});
});

// REST API (POST) ==============================================================
app.get("/api/posts/:year/:month", (req, res) => {
res.send(req.params);
});

// SERVER PORT ================
app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});

 

 

작업이 완료되셨다면, node 서버를 실행하겠습니다.

 

그러면 다음과 같은 결과를 얻을 수 있을 것입니다.

구축한 Node서버에 /persons라는 URL로 정보를 요청하면, Node 서버의 Controller를 거쳐 DB에 저장했었던 정보를 받아올 수 있게 됩니다. 샘플 데이터로 John Dae라는 데이터를 넣었는데, 그것을 정상적으로 불러온 것을 확인할 수 있습니다.

 

 

  • 2

블로그 방문해주셔서 감사합니다.

도움이 되셨으면 '좋아요'를 눌러주세요!
추가로 질문사항이 있으면 댓글 남겨주세요 :)

💯포스트 후원하기

reference : https://cheese10yun.github.io/mysql-node/

reference : https://velog.io/@smooth97/Node.js-Restful-API-wok2wqo7yu

광고 링크 : https://ogx4.com

 

인공지능이 추천하는 10개의 게임!

보물처럼 숨겨진 게임을 발굴하자! 게이머엑스포 유저들은 누구나 게임 발굴 대회에 참여 가능합니다. 게임 발굴 대회에서 입상한 게임은 2023 에디터 추천 TOP100에 노출됩니다. 단순 조회, 게임

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.