req -> middleware -> app -> middleware -> res
모든 요청에 대해 공통적인 처리를 하고 싶은 경우 사용한다
or
브라우저가 보낸 데이터를 쉽게 사용할 수 있게 바꿔주는 미들웨어도 있다
app.use(express.urlencoded({ extended: false}))
app.use(express.json())
// post, put 등 전달된 body 데이터를 req.body 로 사용할 수 있게 만든
// bodyparser
app.use((req,res,next) => {
})
=> 미들웨어들 사이에 다음 미들웨어를 동작하게 하기 위해 next() 가 작동한다
=> next 가 호출되지 않을 경우 다음으로 넘어가지 않는다
( res 를 전달해서 호출 자체를 끝내게 된다 )
-> router 도 미들웨어 기반으로 작성되었기 때문에 같은 특성을 가지고 있다
( 라우터 안에서도 미들웨어를 작성하고 통과시킬 수 있다 )