Service
Service에서는 데이터베이스 관련 로직을 처리해준다. 데이터베이스에서 데이터를 가져오거나 생성한 데이터를 넣어주거나.
Service 만들기
$ nest g service boards --no-spec
service파일에는 Injectable 데코레이터가 있다.
이는 다른 컴포넌트에서 이 서비스를 사용할 수 있게(Injectable) 만들어준다.
Controller에서 Service를 사용하기 위해서는 Dependency Injection (종속성 주입)을 해주어야한다.
이 부분은 사알짝 복잡하다.
boardsController에서 boardsService를 사용하게 해주는 과정인데,
원래는 윗 부분 코드로 클래스를 만들어야한다. 원래는.
하지만 아랫부분처럼 간단하게 가능하다.
윗 부분부터 설명하자면,
클래스를 만들 때 생성자에서 BoardsService를 받아서 프로퍼티로 사용한다.
TypeScript에서는 먼저 선언한 값만 객체의 프로퍼티로 사용할 수 있기 때문에 생성자 위에 미리 BoardsService를 선언해주는 것이다.
하지만 아랫부분처럼
boardsService를 접근제한자 private과 함께 사용해주면 자동으로 프로퍼티를 생성해주기 때문에 코드가 좀 더 간결해진다.
강의가 친절하고 너무 좋다
cf) https://youtu.be/3JminDpCJNE?si=Q4ian5-azL3U78SG
'NestJS' 카테고리의 다른 글
Prisma P1001 error 해결 (0) | 2024.03.05 |
---|---|
NestJS 프로바이더 Provider (0) | 2024.01.06 |
NestJS 컨트롤러 controller (0) | 2024.01.06 |
NestJS 모듈 module (0) | 2024.01.06 |
NestJS 시작하기 (1) | 2024.01.06 |