express로 구현한 서버를 실행한 뒤 서버에 요청이 들어오면
요청이 들어올 때마다 위에서부터 코드 하나씩을 거치고
요청에 따른 응답이 완료됐을 때 사이클을 마친다.
var express = require('express');
var app = express();
app.get('/', function(req, res) {
res.send('hello world');
});
위의 코드로 구현된 서버에서 기본 url로 get 요청을 받으면
4번째 줄의 get으로 들어와 클라이언트에 응답으로 hello world를 반환한다.
이렇듯 get 메소드는 GET 요청이면서 요청 url이 첫 번째 인자에 해당할 경우
두 번째 인자의 함수를 실행하고 res.send와 같은 응답 메소드로 사이클을 마친다.
다만 응답으로 마치지 않고 next('route')를 써서 다음 get 메소드로 진행할 수는 있다.
http://expressjs.com/ko/guide/using-middleware.html
post 메소드도 마찬가지다.
POST 요청인 것만 다를 뿐이지 같은 방식으로 돌아간다.
만약 get 메소드 앞에
use 메소드가 나온다면
코드를 위에서부터 진행하면서
use 메소드를 하나하나 거치게 된다.
get으로 응답을 마치기 전에 무엇인가를 계속
중간에 끼워준다고 생각하면 쉽다.
메소드의 형태는 get과 동일하다.
첫 번째 인자에 url이 오고 두 번째 인자에 함수가 온다.
url이 일치할 때만 use 메소드에 들어가고
첫 번째 인자를 생략할 경우에는 모두 들어간다.
대신 아래처럼 next 메소드를 써야 다음으로 진행할 수 있다.
app.use(function (req, res, next) {
console.log('use 메소드에 진입');
next();
});
'Node.js > Express' 카테고리의 다른 글
express의 router 사용 예제 (0) | 2020.07.04 |
---|---|
express의 유용한 미들 웨어 (0) | 2020.07.04 |
express에서 POST 사용하는 방법 (0) | 2020.04.19 |
express에서 status code 넣는 방법 (0) | 2020.04.19 |
express의 Route Parameters 사용법 (0) | 2020.04.19 |