전체 글
-
-
[m1 맥북] - nest.js 공부하기 21. 게시물 생성하기Nest.js 2022. 5. 29. 18:03
board.service.ts boardRepository.create함수로 생성하고, save 함수로 db에 저장 board.controller.ts postman으로 테스트 pgAdmin에서 데이터 생성 됬는지 확인 Table선택하고 위에 View Data 아이콘 클릭하면 데이터 확인 할 수 있다. 지금까지 데이터베이스 로직을 Service에서 처리 해서 저장 하는 코드 였는데 이걸 Repository로 데이터 베이스 관련 로직은 전부 이동 시킴 중요!! board.repository.ts Service에서 작성한 코드 그대로 옮겨주는데 이미 Repository안에서 쓰기 때문에 this를 사용 board.service.ts postman 결과
-
[m1 맥북] - nest.js 공부하기 20. DB사용 - ID를 이용해서 특정 게시물 가져오기Nest.js 2022. 5. 29. 16:44
controller, service 코드 다 주석, board.model.ts -> board-status.enum.ts 로 변경 필드값 타입은 board.entity에서 다 선언 되있기 떄문에 @InjectRepository - 이 데코레이터를 이용해서 이 서비스에서 BoardRepository를 이용한다고 이걸 boardRepository 변수에 넣어줍니다. Service에서 getBoardById 메소드 생성하기 - typeOrm에서 제공하는 findOne 메소드 사용하기 - async await을 이용해서 데이터베이스 작업이 끝난 후 결과값을 받을 수 있게 해주기(async await 안쓰면 작업이 끝나지도 않고 작업중이라는 내용을 가져 올 수 있음)async await를 사용 했기에 리턴값 Pr..
-
[m1 맥북] - nest.js 공부하기 19. typeorm - Repository 생성하기Nest.js 2022. 5. 29. 15:00
데이터베이스에 관련 된 일은 서비스에서 하는게 아닌 Repository 에서 해준다. 이것을 Repository Pattern이라고도 부릅니다. 데이터베이스 관련일 : INSERT, FIND, DELETE... 등 board.repository.ts Repository 클래스를 extends(상속)받아야 (Find, Insert, Delete등 엔티티를 컨트롤 가능) 또 Board 제너릭을 통해서 타입 체크 @EntityRepository 엔티티저장소 선언 - 생성한 Repository를 다른곳에서도 사용할 수 있기 위해서 board.module에서 import 해준다. board.module.ts BoardRepository를 import 해주었다.
-
[m1 맥북] - nest.js 공부하기 18. TypeORMNest.js 2022. 5. 28. 22:57
TypeORM 특징과 이점 - 모델을 기반으로 데이터베이스 테이블 체계를 자동으로 생성합니다. - 데이터베이스에서 개체를 쉽게 삽입, 업데이트 및 삭제할 수 있습니다. - 테이블 간의 매핑 (일대일, 일대 다 , 다대다 )을 만듭니다. - 간단한 CLI 명령을 제공합니다. - TypeORM은 간단한 코딩으로 ORM 프레임 워크를 사용하기 쉽습니다. - TypeORM은 다른 모듈과 쉽게 통합됩니다. npm install pg typeorm @nestjs/typeorm --save 3가지 모듈을 설치 TypeORM 애플리케이션에 연결하기 1.typeORM 설정파일 생성 2.typeORM 설정파일 작성 1. entities : 엔티티를 이용해서 데이터베이스 테이블을 생성해줍니다. 그래서 엔티티 파일이 어디에 ..
-
[m1 맥북] - nest.js 공부하기 16. 커스텀 파이프를 이용한 유효성 검사Nest.js 2022. 5. 25. 22:48
커스텀 파이프 구현 방법 먼저 PipeTransform이란 인터페이스를 새롭게 만들 커스텀 파이프에 구현해줘야 합니다. 이 PipeTransform 인터페이스는 모든 파이프에서 구현해줘야 하는 인터페이스입니다. 그리고 이것과 함께 모든 파이프는 transform() 메소드를 필요합니다. 이 메소드는 NestJS가 인자 (arguments)를 처리하기 위해서 사용됩니다. 1. 커스텀 파이프에 PipeTransform을 implements한다. 2. 모든 커스텀 파이프는 transform() 메소드가 필수. boards/pipes/board-status-validation.pipe.js 생성 transform() 메소드 이 메소드는 두개의 파라미터를 가집니다. 첫번째 파라미터는 처리가 된 인자의 값(valu..