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 |
---|