node.js의 유연함을 그대로 가지면서, 프레임워크 내에 유용한 기술을 이미 구현해 둔 친구알맞는 라이브러리를 찾기 전 NestJS가 제공하는 컴포넌트를 익혀 개발해보자Node에 기반을 둔 웹 API 프레임워크로서, Express나 Fastify를 래핑하여 동작한다.
nestjs에서는 모듈을 만들거나 그 안에 컨트롤러 서비스 등등 전부 cli를 통해서 만들 수 있다.위처럼 만들면 scr폴더내에 cats라는 모듈로 여러 파일들이 생성된다.app.module에도 자동으로 만들어진 모듈이 import됨라우팅을 만질 때 특정 모듈내의 컨트
nest에선 RESTful API를 설명하는 데 사용하는 모듈을 제공한다.설치를 하고, main.ts파일에서 클래스를 이용해 Swagger를 초기화 한다.DocumentBuilder: 문서를 구성할 때 사용하고, 제목, 설명, 버전 등을 설정하는 메서드를 제공한다.cr
TS의 데커레이터는 자바에서 애너테이션이랑 비슷하다.클래스, 메서드, 접근자, 프로퍼티, 매개변수에 적용 가능사용자가 요청을 잘못 보낼 때, 네스트에서는 @데커레이터로 허용하는 값으로 보냈는지 검사한다.위 예시를 모면 이메일인지 아닌지 길이는 60자 이하로 검사하고정규
개발과정에서 코드를 수정 시 변경점을 적용해서 다시 빌드하고 리로드하는 기능개발과정에서의 편리함을 주는 기능인데, nodemon같은 느낌이를 nest에서 적용해보자.설치설치 후 루트 디렌토리에 webpack-hmr.config.js파일을 만들고 아래 복붙근데 이렇게하면
express에서의 Morgan과 비슷한 로깅을 하는 친구인데,nest로깅 미들웨어는 API사용할 때 실시간 로그를 기록한다.앱 모듈에서 이 로깅 미들웨어를 가져와서 사용하는 방식으로 진행하면되는데,로깅 미들웨어는 다음과 같은 방식으로 만든다.그리고 위 미들웨어를 ap
nest.js로 대충 만들어보는 공연예매, 하며 공부API 요청controller에서 -> 요청 DTO 유효성 검사인증유무 AuthGuard로 이동 -> JWT검사service에서 비즈니스 로직 수행 (예외처리 응답)repository에서 db 관련 작업성공, 응답을
nest에서는 express랑 달리 swagger문서를 자동으로 작성해주는 기능을 제공한다.물론 dto나 데커레이터같은거 써줘야함일단 nest/swagger 설치하고main.ts에서 bootstrap()에 스웨거설정을 적용한다.이제 npm run start:dev같은거
node국룰 인증 라이브러리인 passport는 nest에서도 제공한다.
nestJS에서 유효성 검사나 BadRequest같은 부분은 class-validator를 사용하면 더 편리하게 사용 가능하다.설치 후 main.ts에 다음을 적용 시켜야한다.그럼 dto파일 같은거에 @IsEmail이런게 적용이 가능해짐예를 들면 entity를 이용해서
typeorm에서는 seeding도 지원함typeOrm에서 초기데이터를 넣어야할 때 즉, seeding을 하기 위해서 필요한 패키지를 설치한다.package.json에 다음 명령어들을 추가한다.위 명령어들은 앞서 만들어둔 typeorm.config를 읽지 못해서 루트