본문 바로가기
NestJs

[NestJs] NestJs로 API 만들기 - Typescript/NodeJs 프레임워크/노마드 코더 강의 정리

by JM0121 2021. 3. 29.

 

 

 

 

NestJs 란?

Python의 Django, Java의 Spring boot같이 NodeJs의 프레임 워크이다. NestJs는 Typescript를 이용하여 유효성 검사나 서버를 실시간으로 보호 시켜준다는 장점을 가지고 있다.

 

 


 

Controller

url을 가져오고 함수를 실행시키는 역할, @Get()을 통해 메서드를 정의

 

 

 

Service 

함수를 놓는 곳, 비지니스 로직을 실행시키는 역할

 

 

 

Module

앱의 구조를 조직하는 역할

 

 


 

@Get() 작성해보기

@Get('/hello')
sayHello(): string {
        return 'Hello everyone';
}

 

locallhost:3000/hello에 들어가보면 Hello everyone을 출력하는 것을 볼 수 있다.

 

 

 

노마드 코더 NestJs로 API 만들기

 

movies.controller.ts

import {
  Body,
  Controller,
  Delete,
  Get,
  Param,
  Patch,
  Post,
  Put,
  Query,
} from '@nestjs/common';
import { CreateMovieDto } from './dto/create-movie.dto';
import { UpdateMovieDto } from './dto/update-movie.dto';
import { Movie } from './entities/movie.entity';
import { MoviesService } from './movies.service';

@Controller('movies')
export class MoviesController {
  constructor(private readonly moviesService: MoviesService) {}

  @Get()
  getAll(): Movie[] {
    return this.moviesService.getAll();
  }

  @Get(':id')
  getOne(@Param('id') movieId: number): Movie {
    console.log(typeof movieId);
    return this.moviesService.getOne(movieId);
  }

  @Post()
  create(@Body() movieData: CreateMovieDto) {
    return this.moviesService.create(movieData);
  }

  @Delete('/:id')
  remove(@Param('id') movieId: number) {
    return this.moviesService.deleteOne(movieId);
  }

  @Patch('/:id')
  patch(@Param('id') movieId: number, @Body() updateData: UpdateMovieDto) {
    return this.moviesService.update(movieId, updateData);
  }
}

 

노마드 코더의 NestJs로 API 만들기 중 일부분 컨트롤러 코드이다. 나머지 Service와 Module등 구현 해주면 다음과 같은

 

출력을 구현할 수 있다.

 

 

 

 

전체 코드

Git: github.com/m3k0813/hi-nest

강의 :nomadcoders.co/nestjs-fundamentals

 

'NestJs' 카테고리의 다른 글

[NestJs] NestJs로 API 만들기 2 - Testing Unit/e2e  (0) 2021.04.03