반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스프링부트
- 알고리즘공부
- 스프링 공부
- nestjs스터디
- 스프링
- 플러터 개발
- nestjs
- JPA
- 기술공부
- DDD
- 프로그래머스
- 스프링공부
- Axon framework
- 스프링부트공부
- JPA예제
- Flutter
- 코테준비
- 기술면접공부
- 플러터 공부
- 자료구조공부
- Kafka
- JPA공부
- 자바공부
- 카프카
- querydsl
- JPA 공부
- K8S
- JPA스터디
- 코테공부
- nestjs공부
Archives
- Today
- Total
DevBoi
[NestJS] DTO 사용 본문
반응형
DTO는 뭐 알다싶이 데이터 전송객체이다.
클라이언트로의 값을 받거나, DB로 전달할때 주로 사용하는 객체이다.
DTO - 데이터 유효성을 검증하는 데 효율적이고, 코드를 안정적으로 만들어주는 역할을 한다 (몰랐던 사람은 참고 ㅎ)
* DTO를 만들어보자
이전 프로젝트를 보면, 파라미터로 해당 값들을 따로따로 한개씩 받는다.
말도안되는 짓이기 떄문에, DTO를 만들어서 DTO채로 받아보자
export class createBoardDto{
title: string;
description: string;
}
변경된 controller와 Service를 보자
import { Injectable } from '@nestjs/common';
import { Board, BoardStatus } from './board.model';
import {v1 as uuid} from 'uuid'
import { createBoardDto } from './dto/create-board.dto';
@Injectable()
export class BoardsService {
private boards: Board[] = [];
getAllBoards() : Board[]{
return this.boards;
}
createBoard(createBoardDto: createBoardDto){
const title = createBoardDto.title;
const description = createBoardDto.description;
const board: Board = {
id: uuid(),
title,
description,
status: BoardStatus.PUBLIC
}
this.boards.push(board);
return board;
}
}
import { Body, Controller, Get, Post } from '@nestjs/common';
import { BoardsService } from './boards.service';
import {Board} from './board.model'
import { createBoardDto } from './dto/create-board.dto';
@Controller('boards')
export class BoardsController {
constructor(private boardService: BoardsService){}
@Get('/')
getAllBoard(): Board[]{
return this.boardService.getAllBoards();
}
@Post('/create')
createBoard(@Body() createBoardDto :createBoardDto){
this.boardService.createBoard(createBoardDto);
}
}
DTO를 사용해서 받고, 이를 사용해서 넣어주는 소스로 변경했다.
반응형
'Develop > [NestJs]' 카테고리의 다른 글
[NestJs] Pipes란? (0) | 2023.05.27 |
---|---|
[NestJS] 게시물 CRUD (0) | 2023.05.27 |
[NestJs] 게시판 정보 불러오기 및 게시판 마무리 (0) | 2023.05.27 |
[NestJS] CRUD 본격적으로 시작해보기 (0) | 2023.05.23 |
[NestJS] 모듈, 컨트롤러, 서비스 생성 하기 (0) | 2023.05.22 |