목록백엔드 (19)
Lsiron
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..
Nest.js를 사용하여 간단한 CRUD API를 만드는 방법을 다뤄보겠다. 먼저 app.controller.ts 파일로 가보자. app.controller.tsimport { Controller, Get } from '@nestjs/common';import { AppService } from './app.service';@Controller()export class AppController { constructor(private readonly appService: AppService) {} @Get() getHello(): string { return this.appService.getHello(); }} AppController는 Node.js의 Router와 같은 역할을 한다. 즉,..