semtax의 개발 일지

2. Expressjs 라우팅 본문

개발/node.js

2. Expressjs 라우팅

semtax 2020. 1. 8. 22:01
반응형

1. 개관

이번시간에는, Expressjs에서 지원하는 라우팅 기능과 HTTP Method에 대해서 알아보도록 하겠습니다.

2. Expressjs Routing

위키피디아에 라우팅이라는 단어를 쳐보면 전혀 관련 없어 보이는 네트워크 이야기가 나오고 최적경로와 같은 이야기가 나옵니다.

사실 Expressjs와 같은 웹 프레임워크에서 이야기하는 라우팅이라는 단어가 전혀 관련이 없어 보일수는 있지만 경로를 찾아준다는 맥락에서는 관계가 있다고 볼 수 있습니다.

즉, 웹 프레임워크에서의 라우팅은 사용자가 특정 URL에 접근을 하면 해당 URL에 대응되는 이벤트 핸들러를 찾아서 그에 대응되는 함수를 실행 해준다는 면에서 공통점이 존재합니다.

Expressjs에서는 아래와 같은 방식으로 라우팅을 수행합니다

const express = require("express");
const app = express();

app.get("/", function(req, res){
    ...
});

    ...

예제에 나온 get 함수 이외에도 post, delete, put 등의 함수가 있습니다.

3. HTTP Method

HTTP 메소드(HTTP Method)는 웹 클라이언트(또는 사용자)가 서버에게 특정한 방식대로 자원(또는 데이터)를 다뤄달라는 요청입니다.

서버는 클라이언트의 요청을 받고 그에 맞는 동작을 하고 응답을 줍니다.

HTTP 메소드의 종류는 아래와 같습니다.

HTTP Method 설명
GET 특정 자원 또는 데이터를 얻어낼때 사용하는 요청입니다.
POST 사용자가 특정 자원을 제출할때 사용 하는 요청입니다.
PUT 사용자가 특정 자원을 생성 할때 사용 하는 요청입니다.
DELETE 사용자가 특정 자원을 삭제 할때 사용 하는 요청입니다.

웹 프레임워크 에서는 해당 HTTP 메소드 요청이 왔을때 보통 아래와 같은 관례를 따릅니다.

HTTP Method 대응되는 연산
GET 데이터 조회
POST 데이터 수정
PUT 데이터 생성
DELETE 데이터 삭제

4. 예제

아래 예제는 get, post, put, delete 메서드로 사용자가 요청을 하면, 그에 따른 응답을 해주는 코드입니다.

const express = require("express");
const app = express();

const port = 3100;

app.get('/', function (req, res) {
  res.send('Got a GET request');
});

app.post('/', function (req, res) {
  res.send('Got a POST request');
});

app.put('/user', function (req, res) {
  res.send('Got a PUT request at /user');
});

app.delete('/user', function (req, res) {
  res.send('Got a DELETE request at /user');
});

app.listen(port, () => {
  console.log(`listen port to ${port}`);
});
반응형
Comments