기술
express미들웨어
cha123
2022. 4. 29. 15:50
미들웨어란?
- 간단하게 말하면 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는, 말하자면 거쳐가는 함수들이라고 보면된다.
- 미들웨어 함수는 req(요청)객체, res(응답)객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한을 갖는 함수이다.
- 다음 미들웨어 함수에 대한 엑세스는 next함수를 이용해서 다음 미들웨어로 현재 요청을 넘길 수 있다.
- next를 통해 미들웨어는 순차적으로 처리된다.
- 요청을 처리하기 전에 중간에 무언갈 해주는 애
//접속로그 남기기
const requestMiddleware = (req:express.Request,
res:express.Response,
next:express.NextFunction) => {
console.log(
"ip:",
req.ip,
"domain:",
req.rawHeaders[1],
"method:",
req.method,
"Request URL:",
req.originalUrl,
"-", new Date());
next();
;
}
오류 미들웨어
//404 error url이 존재 하지 않을 때 사용 미들웨어
app.use((req,res,next)=>{
console.log('error status 404');
res.send({error:'Url 404 not found error' })
});