백엔드-노드

노드 실전

강사: 오백엔드 · 작성자: 이종춘 · 작성일: 2026-07-08 07:01:58 · 조회수: 4

10강. Express Routing(라우팅)
목록으로
10강. Express Routing(라우팅)

이번 강의에서는 Express의 핵심 기능인 Routing(라우팅)을 배웁니다.

목표: URL에 따라 다른 페이지를 보여주고, GET·POST·PUT·DELETE 요청을 처리할 수 있습니다.

1. Routing(라우팅)이란?

라우팅은 사용자가 요청한 URL에 따라 다른 작업을 수행하는 기능입니다.

예를 들어

브라우저

http://localhost:3000/


홈페이지

http://localhost:3000/about


회사소개

http://localhost:3000/login


로그인

Express에서는 app.get(), app.post() 등을 이용해 라우팅을 정의합니다.

2. GET 요청

GET은 데이터를 조회할 때 사용합니다.

const express = require("express");

const app = express();

app.get("/", (req, res) => {

res.send("홈페이지");

});

app.listen(3000);

브라우저 접속

http://localhost:3000

3. 여러 개의 GET 페이지
app.get("/", (req,res)=>{

res.send("메인");

});

app.get("/about",(req,res)=>{

res.send("회사소개");

});

app.get("/product",(req,res)=>{

res.send("상품");

});

결과

/



메인


/about



회사소개


/product



상품

4. POST 요청

POST는 데이터를 서버에 저장할 때 사용합니다.

app.post("/login",(req,res)=>{

res.send("로그인 완료");

});

브라우저 주소창에서는 POST 요청을 직접 보낼 수 없으며, 보통 폼(form) 또는 JavaScript(fetch)를 사용합니다.

5. PUT 요청

PUT은 기존 데이터를 수정할 때 사용합니다.

app.put("/member",(req,res)=>{

res.send("회원 수정");

});

6. DELETE 요청

DELETE는 데이터를 삭제할 때 사용합니다.

app.delete("/member",(req,res)=>{

res.send("회원 삭제");

});

7. REST API 구조
기능 Method URL
회원 조회 GET /member
회원 등록 POST /member
회원 수정 PUT /member/:id
회원 삭제 DELETE /member/:id

실무에서는 위와 같은 형태를 많이 사용합니다.

8. URL Parameter

주소에 값을 전달하는 방법입니다.

app.get("/user/:id",(req,res)=>{

console.log(req.params.id);

res.send(req.params.id);

});

브라우저

http://localhost:3000/user/10

결과

10

9. 여러 개의 Parameter
app.get("/user/:id/:name",(req,res)=>{

res.json(req.params);

});

브라우저

http://localhost:3000/user/1/홍길동

결과

{
"id":"1",
"name":"홍길동"
}

10. Query String

주소 뒤에 데이터를 전달하는 방법입니다.

app.get("/search",(req,res)=>{

console.log(req.query);

res.json(req.query);

});

브라우저

http://localhost:3000/search?keyword=node&page=1

결과

{
"keyword":"node",
"page":"1"
}

11. req.params
app.get("/product/:id",(req,res)=>{

res.send(req.params.id);

});

브라우저

/product/5



5

12. req.query
app.get("/board",(req,res)=>{

console.log(req.query.page);

});

브라우저

/board?page=3



3

13. req.method

현재 요청 방식을 확인합니다.

app.get("/",(req,res)=>{

console.log(req.method);

res.send("OK");

});

결과

GET

14. req.url

요청한 URL 확인

app.get("*",(req,res)=>{

console.log(req.url);

res.send("URL 확인");

});

예시

/about

15. 실습 1

회원 조회

app.get("/member",(req,res)=>{

res.send("회원 목록");

});

16. 실습 2

회원 등록

app.post("/member",(req,res)=>{

res.send("회원 등록");

});

17. 실습 3

상품 상세보기

app.get("/product/:id",(req,res)=>{

res.send(`상품번호 : ${req.params.id}`);

});

접속

/product/15



상품번호 : 15

18. 실습 4

검색 기능

app.get("/search",(req,res)=>{

res.send(req.query.keyword);

});

접속

/search?keyword=React



React

19. 실무 프로젝트 예시
GET /board
POST /board
GET /board/10
PUT /board/10
DELETE /board/10

GET /member
POST /member
GET /member/3
PUT /member/3
DELETE /member/3

이 구조는 게시판, 쇼핑몰, 회원관리 등 대부분의 웹 서비스에서 공통적으로 사용됩니다.

20. 이번 강의 핵심 정리
문법 설명
app.get() 조회(GET)
app.post() 등록(POST)
app.put() 수정(PUT)
app.delete() 삭제(DELETE)
req.params URL Parameter
req.query Query String
req.method 요청 방식
req.url 요청 주소
실무 팁

req.params와 req.query는 용도가 다릅니다.

구분 사용 예
req.params /product/15, /member/3처럼 특정 자원을 식별할 때
req.query /search?keyword=node&page=2처럼 검색, 정렬, 페이지 번호 등 옵션을 전달할 때

REST API를 설계할 때 이 둘을 적절히 구분하면 코드가 훨씬 명확해집니다.

실습 미션

다음 API를 만들어 보세요.

Method URL 결과
GET / 홈페이지
GET /member 회원목록
GET /member/1 회원번호 출력
POST /member 회원등록
PUT /member/1 회원수정
DELETE /member/1 회원삭제
GET /search?keyword=node 검색어 출력
#10강. Express Routing(라우팅)

첨부 파일

0개
첨부된 파일이 없습니다.

댓글 / 답글

0개
댓글을 작성하려면 로그인하세요.
아직 댓글이 없습니다.