목록분류 전체보기 (122)
Lsiron
현재 폴더 구조data_project/├── back # 백엔드 프로젝트 루트 디렉토리│ ├── logs # 로그 파일들이 위치하는 디렉토리│ ├── node_modules # 의존성 모듈들이 위치하는 디렉토리│ └── src # 소스 파일들이 위치하는 디렉토리│ ├── config # 환경설정 관련 파일들이 위치하는 디렉토리│ │ └── db.config.ts # 데이터베이스 설정 파일 (MyS..
1. AppModule에서 MoviesModule로 분리하기 app.module.tsimport { Module } from '@nestjs/common';import { MoviesController } from './movies/movies.controller';import { MoviesService } from './movies/movies.service';@Module({ imports: [], controllers: [MoviesController], providers: [MoviesService],})export class AppModule {} 기존 우리의 app.module.ts 이다. 사실 이 app.module.ts는 AppController와 AppProvider만 가지고 있..
movies.service.tsimport { Injectable, NotFoundException } from '@nestjs/common';import { Movie } from './entities/movie.entity';@Injectable()export class MoviesService { private movies: Movie[] = []; getAll(): Movie[] { return this.movies; } getOne(id:string): Movie { const movie = this.movies.find(movie => movie.id === parseInt(id)); if(!movie) { thro..
이제 기본적인 CRUD API를 만들면서 Nest.js의 핵심 개념인 Controller와 Service의 역할을 알아보자. controller는 URL을 매핑하고, 리퀘스트를 받고 query를 넘기거나, body나 그 외의 것들을 넘기는 역할을 했었다. 허나, service는 로직을 관리하는 역할을 맡을 것 이다. 이렇게 한 개의 요소가 한 가지 기능은 꼭 책임져야 한다. 이것이 바로 single-respnsibility principle 이다. ( 하나의 module, class 혹은 function이 하나의 기능은 꼭 책임져야 한다는 것 ) 이 점을 명심하면서, service를 만들어보겠다. 터미널에 아래와 같이 명령어를 입력하여 서비스를 만들어보자$ nest g s movies 위와 같이 mo..