본문 바로가기

Programming/Node.js

[Node.js][Express] 기본 라우팅

반응형

라우팅(Routing)

라우팅(Routing)은 URI 주소 및 HTTP 요청(GET, POST..)과 같은 특정 엔드포인트에 대한 클라이언트의 요청에 애플리케이션이 응답하는 방식을 결정하는 것이다.

 

각 라우트(요청 처리 방식)는 하나 혹은 여러개의 처리 함수를 가질 수 있으며, 라우트가 매칭될 때 실행된다.

(여기서 '라우트가 매칭될 때' 라는 말은, '실행 조건을 만족했을 때'라고 이해된다.)

 

라우트 정의는 다음과 같은 기본 구조를 가진다.

app.METHOD(PATH, HANDLER)

'app'은 요청한 모듈 express의 인스턴스다.

예를 들면, 아래와 같이 설정할 수 있다.

const express = require('express') //express 모듈 호출
const app = express() //최상위 express() 함수를 변수 app에 대입

기본 구조를 뜯어보면 다음과 같다.

app.METHOD(PATH, HANDLER)
  • METHOD는 HTTP 요청 메소드이다. app 오브젝트에서 제공하는 라우팅 메소드는 여기서 확인 가능하다.
  • PATH는 서버에 올라가는 경로이다.
  • HANDLER는 라우트가 매칭될 때 실행되는 함수이다.

 


기본 라우팅 설정

express의 인스턴스인 app으로 HTTP get 요청을 하면 응답하는 형태.

'/' 경로 적용 시 미들웨어 함수가 동작한다. ( function(request, response){ ... }

 

미들웨어 함수는 요청 오브젝트(request), 응답 오브젝트(response), 미들웨어 함수에 대한 콜백 인수(next)로 구분된다.

아래 코드에서는 간단한 예시이므로 콜백 인수까지 사용하지 않았다.

* 일반적으로 요청/응답 오브젝트는 req, res로 사용하지만, 좀 더 명확히 이해하기 위해 request, response로 표기했다. req, res, next와 같은 네이밍은 본인이 구현하는 기능에 따라 유연하게 사용할 수 있다.(사용 순서만 지키면 된다)

 

정리하자면, '/' 경로 적용 시 미들웨어 함수가 동작하고, 요청 오브젝트(response)에서 제공하는 send() 메소드를 통해 'Welcome' 이라는 String 타입 형태의 메시지로 응답하도록 설정한다.

그리고 구현 내용을 웹에 출력하기 위해 app 오브젝트의 listen() 메소드를 사용하여 3000번 포트에 연결되도록 한다.

app.get('/', function(request, response) {

	response.send('Welcome')
    
})

app.listen(3000)

참고

https://expressjs.com/en/guide/routing.html

 

Express routing

Routing Routing refers to how an application’s endpoints (URIs) respond to client requests. For an introduction to routing, see Basic routing. You define routing using methods of the Express app object that correspond to HTTP methods; for example, app.ge

expressjs.com

반응형

'Programming > Node.js' 카테고리의 다른 글

[Node.js] express.Router  (0) 2021.09.06
[Node.js] PM2 활용  (0) 2021.09.01
[Node.js][보안] sanitize-html 사용  (0) 2021.09.01
[Node.js] 작업 환경 구성 및 서버 실행  (0) 2021.07.29