@Query와 TypeORM으로 GET method API Pagination 하기

개발/NestJS 2021. 9. 30. 08:20

GET 메소드를 활용하는 Restful 방식의 API를 구성할 때, 해당 테이블 내의 모든 정보를 가져오는 findAll( ) 방식의 API는 테이블에 데이터가 많아질 경우, 성능 이슈와 서버 메모리 사용량 증가로 인한 비용 이슈가 발생할 수 있다. Page 단위로 데이터를 분할하여 전달하는 방식으로 TypeORM의 createQueryBuilder( )를 활용하여 구성하였다. // user.service.ts async findCollectors(page, limit) { return await this.repository .createQueryBuilder('user') // user 테이블로 전달할 쿼리문임을 정의합니다. .where('user.role = COLLECTOR') // user 테이블..

NestJS Test 실행 시, jest가 module을 못 찾는 경우

개발/NestJS 2021. 9. 24. 08:20

NestJS에서 test 코드를 작성하고, npm test로 유닛 테스트를 진행하였는데 다음과 같이 "Cannot find module 'src/common/typeorm.entity' from 'user/user.entity.ts'"에러가 뜨면서 Failed가 발생하였다. 원인은 package.json에 jest 관련 moduleNameMapper가 빠져있어서 test를 할 때 import의 from의 위치를 프로젝트 디렉토리인 root로 지정되어 발생된 일이었다. "jest": { // ... "moduleNameMapper": { "^src/(.*)$": "/$1" } } 위와 같이 package.json의 "jest" 부분에 moduleNameMapper 설정을 src 디렉토리로 설정해주면 된다...

Article Thumbnail