1. 라우팅
특정한 URL을 통해 클라이언트의 요청이 들어왔을 때 그에 맞는 적절한 반응을 취해주는 것이다.
express에서는 http request가 들어왔을 경우 mthod type 에 따라 라우팅을 해줄 수 있다.
2. 미들웨어
http request 가 사용자로부터 날라왔을 때 사용자가 요청하면서 보내는 정보(request)와 서버가 보낼 정보 (response) 에접근 가능한 함수이다.
app.use('path', function(req, res)=>{
do(something);
next();
});
use method를 사용할 경우 http request가 해당 url 로 보내질 경우 method type에 관계없이 반드시 실행된다.
next() 는 다음에 실행할 method 가 있으면 다음으로 넘어가게 해준다.
app.get('path', function(req, res)=>{
do something here...
});
http request 가 get method 의 형태로 호출할 경우에만 실행된다. 이는 put, delete의 경우도 마찬가지라 다음과 같이 함수명만 바꾸면 된다.
app.post('path', function(req, res)=>{
do something here...
});
app.delete('path', function(req, res)=>{
do something here...
});
✅ use method vs. all method
공통점
두 method 모두 get, post, put, delete 가릴 것 없이 http request가 들어오면 처리한다.
차이점
use method : 첫 번째 인자로 들어오는 것을 시작 경로로 삼아 매칭한다.
app.use('/a', function(req,res) =>{});
request의 경로가 예를들어 /a/b/c ... 라면 매칭한다. a로 시작하는 모든 경로에 대하여 routing이 진행된다.
all method : 첫 번째 인자와 request 경로가 정확히 일치할 때만 매칭한다.
app.all('/a', function(req, res) =>{});
request의 경로가 /a 로 정확히 매칭될 경우에만 함수가 호출된다. app.use 에서 매칭되었던 /a/b/c/... 는 여기에서 매칭되지 않는다.
'Node.js' 카테고리의 다른 글
11. req.params 과 req.body (0) | 2022.02.27 |
---|---|
10. 구조 분해 할당 ( Destructiong assignment) (0) | 2022.02.27 |
8. REST API (0) | 2022.02.19 |
7. middleware (0) | 2022.02.19 |
6. Express.js (0) | 2022.02.18 |