HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👻
개발 기록
/
📚
CS 스터디
/
📚
Node.js 백엔드 기초 (API 구축)
📚

Node.js 백엔드 기초 (API 구축)

 

Express 프레임워크 설치와 사용

npm i express
const express = require('express') const app = express() const port = 3000 app.get('/', function (req, res) { // http method, 라우팅, 콜백함수 순서로 구성 res.send('Hello World') // 응답에 hello world를 담아 보내겠다 }) app.listen(port) // 듣고 있는 포트 번호
실행은 index.js에 만든 파일일 때 node index.js
 

예제 API 만들어보기

특정 라우터로 들어갔을 때 html, json을 반환해보자.
const express = require('express') const app = express() const port = 3000 // html 전송 app.get('/cat', function (req, res) { res.send('<h1>Hello World</h1>') }) // json 전송 app.get('/dog', function (req, res) { res.json({ 'sound': '멍멍' }) // send랑 보이는 모습은 같지만 json으로 전달하면 명시적이고 효율적으로 전달 가능 }) app.listen(port)
 
request에 정보가 담긴 경우 params, query를 이용해 알 수 있음 (변수로 받는 방식).
const express = require('express') const app = express() const port = 3000 // params app.get('/user/:id', function (req, res) { const { id } = req.params res.json({ 'userId': id }) }) //query app.get('/user/:id', function (req, res) { const { query } = req console.log(query) // localhost/user/hello?age=12&name=world 일 때 { age: '12', name: 'world' } }) app.listen(port)
post의 경우 req의 body에 값이 담김.
 

동물 소리 API 만들기 실습

/sound/:name에 들어갔을 때 알맞는 동물 소리 보여주기
const express = require('express') const app = express() const port = 3000 app.get('/user/:name', function (req, res) { const { name } = req.params if(name === 'dog') { res.json({ '멍멍' }) } else if(name === 'cat') { rres.json({ '야옹' }) } else { res.json({ '알 수 없음' }) } }) app.listen(port)
 
만약 프론트 쪽에서 name의 입력을 받는 input을 만든다 하면 다음과 같은 형태가 될 수 있음.
notion image
 
근데 html에서 요청했을 때 cors 문제가 날 수 있음.
 

CORS 이슈와 프론트엔드 연결 실습

npm i cors
전부 허용.
var express= require('express') var cors= require('cors') var app= express() app.use(cors()) // 괄호 안을 비워놓으면 모든 요청에 대해 허용하는 것임. app.get('/products/:id', function (req, res, next) {   res.json({msg: 'This is CORS-enabled for all origins!'}) }) app.listen(80, function () {   console.log('CORS-enabled web server listening on port 80') })
이 외에도 npm 문서를 보면 single route만 허용 등 다양한 옵션을 추가할 수 있음.
 
 
참고 영상
한시간만에 Node.js 백엔드 기초 끝내기 (ft. API 구축)
이번 영상은 웹 개발 5주 완성 라이브 강의 편집본으로 Node.js, npm 모듈 등 기초에 대해 배우고, express 프레임워크로 자바스크립트 API를 구현하는 것을 실습하는 영상입니다. 5주만에 코딩 기초와 웹 프론트엔드부터 백엔드까지 모두 배울 수 있는 커리큘럼을 진행하니 구독, 좋아요 눌러두시고 많은 시청부탁드립니다!
한시간만에 Node.js 백엔드 기초 끝내기 (ft. API 구축)
https://youtu.be/Tt_tKhhhJqY
한시간만에 Node.js 백엔드 기초 끝내기 (ft. API 구축)