-
(질문있음)항해 5주차 주특기 숙련 virtual, 미들웨어, HTTP인증카테고리 없음 2023. 2. 10. 19:33
virtual란?
TodoSchema .set("toJSON", { virtuals: true }); //해당하는 값을 todoSchema가 나중에 모델이 밖으로 내보내게 되있음. 해당모델을 바탕으로 데이터를 조회,생성하면 todoId를 제이슨타입으로 보여준다. //TodoSchema를 사용하기 위해서 어떤타입으로 변경했을때 보여줄것인가에 대한 설정 //toJSON: 제이슨타입으로 스키마를 변경을 할때는 해당하는 가상타입을 보내줄 수 있도록 설정한다.
https://tasddc.tistory.com/123
[ NestJS + mongoose ] virtual field에 대하여 알아보자
안녕하세요? 수구리입니다. 정말 오랜만에 또 포스팅을 하게 되었습니다! 이번 포스팅에서는 NestJS와 mongoose에서 virtual field에 대하여 알아보려고 합니다. 우선 간단하게 설명하자면,, 예를 들어
tasddc.tistory.com
미들웨어란?
- 미들웨어는 Express.js 동작의 핵심이다.
- HTTP 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이다.
- Express.js의 미들웨어는 HTTP 요청이 들어온 순간부터 순차적으로 시작이 된다.
- 미들웨어는 HTTP 요청과 응답 객체를 처리하거나, 다음 미들웨어를 실행할 수 있다.
- HTTP 응답이 마무리될 때까지 미들웨어 동작 사이클이 실행된다.
Route Handler?
- Route Handler도 미들웨어의 한 종류이다. 라우팅 함수(get, post, put, delete 등)에 적용된 미들웨어이다.
- 일반적인 미들웨어와는 다르게 path parameter를 사용할 수 있다.
미들웨어 작성법
- req, res, next를 가진 함수를 작성하면 해당 함수는 미들웨어로 동작할 수 있다.
- req : HTTP 요청을 처리하는 객체
- res : HTTP 응답을 처리하는 객체
- next : 다음 미들웨어를 실행하는 함수
- req, res, next를 인자로 갖는 함수를 작성하면 미들웨어가 된다.
- req, res 객체를 통해 HTTP 요청과 응답을 처리하거나 next 함수를 통해 다음 미들웨어를 호출해야 한다.
- next() 함수가 호출되지 않으면 미들웨어 사이클이 멈추기 때문에 주의해야 된다.
- 미들웨어는 적용되는 위치에 따라서 애플리케이션 미들웨어, 라우터 미들웨어, 오류처리 미들웨어로 분류가 가능하다.
- 필요한 동작 방식에 따라 미들웨어를 적용할 위치를 결정해야 된다.
HTTP인증? 질문하기
HTTP 인증 - HTTP | MDN (mozilla.org)