본문 바로가기
사이드 프로젝트/개발몰입과정[2021_SUMMER]

노마드 코더 - Nest JS로 API 만들기

by 의정부핵꿀밤 2021. 9. 5.
728x90

강의 중 필요한 내용 필기

  • 인스타로 따지면 사진이나 비디오가 모듈이 된다
  • controller : url을 가져오고 함수를 실행하는 역할, node.js에서 express의 라우터와 같은 존재이다.
  • @Get : get 데코레이터, express의 get 라우터와 같은 역할
  • 데코레이터는 꾸며주는 함수나 클래스랑 붙어있어야함
  • 예시
    여기서 사용자가 'localhost:3000/hello'로 접속하면 바로 아래에 있는 함수 sayHello가 호출되어 'Hello everyone'을 출력한다! 따라서 @Get (데코레이터)와 함수 사이에는 공백이 있어서는 안된다!
  • 원래 express.js에서는 app.get으로 라우터 호출을 다시해야 했지만, Nest JS의 데코레이터 덕분에 저것만 적어도 바로 호출이 가능하다!
  • 즉, controller는 그냥 url을 가져와서 function을 호출해서 실행시키는 정도의 역할이다.
  • service는 실제로 function이 정의되어 있고, 비즈니스 로직을 실행하는 역할이다.
  • AppModul에서는 하는 모든 걸 import할 것이고, NestJS가 어플리케이션을 만들기 위해 이용하는 것이다.
  • NestJS는 뭔가가 필요하면 파라미터를 통해서 무조건 요청해야 한다!
  • DTO : Data Transfer Object
  • ValidationPipe를 통해서 input 데이터의 type을 알맞게 변경하여 받을 수 있다.
  • mapped-types : 타입을 변환시키고 사용할 수 있게 하는 패키지이다.
  • class-validator : 다양한 것의 유효성 검사를 편하게 할 수 있다.
  • nestjs는 2개의 프레임워크 위에서 동작하기 때문에 Express에서 req, res 객체를 많이 사용하지 않는게 좋다.
  • NestJS는 기본적으로 테스팅을 자동으로 지원하는데, 만약 movies.controller.ts라는 파일을 테스팅하려면 movies.controller.spec.ts라는 파일이 있어야한다.
  • npm run test:cov = 얼마나 테스팅 되었는지 확인할 수 있는 명령어
  • 유닛테스트는 function별로, e2e test는 전체 시스템을 테스트 하는 것이다.
  • Jest : 자바스크립트 테스트 프레임워크, Typescript/Node/React 등 모두 테스트가 가능하다.
  • .spec.ts는 해당 모듈의 유닛 테스트를 하기 위한 파일이다.

 

 


 

드디어 강의 끝!

시간되면 다른 강의도 들어봐야겠따!!

728x90

댓글