728x90
안녕하세요. 오늘은 지난 시간에 생성한 board 모듈을 이용해 게시판 생성 및 불러오는 작업을 해보겠습니다.
먼저 controller 작업하기 전에 DTO를 보고 넘어가겠습니다.
NestJs는 DTO를 사용해 데이터 형식을 지정합니다. 이는 데이터 전송 객체의 약자이며, 또 다른 역할로는 서버에서 요청을 처리하기 전에 데이터의 유효성을 검사할 수 있습니다.
그럼 먼저 board폴더 안에 board.dto.ts를 생성해 보겠습니다.
export class CreateBoardDto {
title: string;
description: string;
}
이렇게 요청할 데이터 형식을 미리 만들어서 받을 수 있습니다. 그리고 유효성 검사를 위해 따로 설정을 해야 되는데 이는 다음 시간에 하겠습니다.
먼저 Service부터 작성해보겠습니다. 데이터베이스는 우선 사용하지 않고 메모리 상으로 보관하고 불러오겠습니다.
(board.service.ts)
import { Injectable } from '@nestjs/common';
import { CreateBoardDto } from './board.dto';
@Injectable()
export class BoardService {
private boards = [];
create(createBoardDto: CreateBoardDto){
this.boards.push(createBoardDto);
return createBoardDto;
}
getAll(){
return this.boards;
}
}
다음은 controller 파일입니다.(board.controller.ts)
import { Body, Controller, Get, Post } from '@nestjs/common';
import { BoardService } from './board.service';
import { CreateBoardDto } from './board.dto';
@Controller('board')
export class BoardController {
constructor(
private boardService: BoardService
){}
@Post()
create(@Body()createBoardDto: CreateBoardDto) {
return this.boardService.create(createBoardDto);
}
@Get()
getAll(){
return this.boardService.getAll();
}
}
작성은 모두 마쳤고 테스트는 Postman으로 하겠습니다.
테스트로 1,2 모두 작성하였고 response로 서비스에서 작성한 createBoardDTO형식으로 오는걸 확인할 수 있습니다.
이제 GET요청으로 작성한 모든 게시물을 불러오는것도 확인할 수 있습니다.
다음 시간은 유효성 검사를 해보겠습니다.
'NestJs' 카테고리의 다른 글
[NestJs] TypeORM 설치 및 설정하기 (0) | 2024.03.27 |
---|---|
[NestJs] 게시물 수정 및 삭제하기 (0) | 2024.03.18 |
[NestJs] ValidationPipe로 유효성 검사하기 (0) | 2024.03.09 |
[NestJs] Controller 및 Service 생성 (0) | 2024.02.20 |
[NestJs]NestJs 설치 및 프로젝트 생성 (0) | 2024.02.11 |