😎 κ³΅λΆ€ν•˜λŠ” μ§•μ§•μ•ŒνŒŒμΉ΄λŠ” μ²˜μŒμ΄μ§€?

[Nest JS 둜 CRUD κ²Œμ‹œνŒ λ§Œλ“€κΈ°] (5) κ²Œμ‹œλ¬Ό μƒμ„±ν•˜κΈ° (CRUD 의 C) : Service λ³Έλ¬Έ

πŸ‘©‍πŸ’» λ°±μ—”λ“œ(Back-End)/Nest js

[Nest JS 둜 CRUD κ²Œμ‹œνŒ λ§Œλ“€κΈ°] (5) κ²Œμ‹œλ¬Ό μƒμ„±ν•˜κΈ° (CRUD 의 C) : Service

μ§•μ§•μ•ŒνŒŒμΉ΄ 2023. 6. 1. 14:43
728x90
λ°˜μ‘ν˜•

<λ³Έ λΈ”λ‘œκ·ΈλŠ” John Ahn μ˜ 유튜브λ₯Ό μ°Έκ³ ν•΄μ„œ κ³΅λΆ€ν•˜λ©° μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€ :-)>

=> λ”°λΌν•˜λ©΄μ„œ λ°°μš°λŠ” NestJS

 

🧸 κ²Œμ‹œλ¬Ό μƒμ„±ν•˜κΈ° (CRUD 의 C) : Service

: κ²Œμ‹œλ¬Όμ— κ΄€ν•œ 둜직 μ²˜λ¦¬ν•˜λŠ” 곳은 Service

: Service μ—μ„œ 둜직 처리 ν›„ -> Controller μ—μ„œ μ„œλΉ„μŠ€ 뢈러였기

: ID λŠ” λͺ¨λ“  κ²Œμ‹œλ¬Όμ—μ„œ μœ λ‹ˆν¬ ν•΄μ•Ό 함 (λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œλŠ” μ•Œμ•„μ„œ ν•΄μ£Όμ§€λ§Œ, μ§€κΈˆμ€ μž„μ˜λ‘œ μœ λ‹ˆν¬κ°’ λ„£μ–΄μ€˜μ•Όν•¨ -> uuid λͺ¨λ“ˆ μ‚¬μš©)

npm install uuid --save

 

πŸŽ€ src/boards/board.service.ts

// λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμ—μ„œ 이 μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  수 있게 λ§Œλ“€μ–΄μ€Œ
// @Injectable λ°μ½”λ ˆμ΄ν„°λ‘œ κ°μ‹Έμ Έμ„œ λͺ¨λ“ˆμ— 제곡

import { Injectable } from '@nestjs/common';
import { Board, BoardStatus } from './board.model';
import { v1 as uuid } from "uuid";
@Injectable()
export class BoardsService {
    // [] 둜 νƒ€μž… 지정함 
    private boards: Board[] = [];

    // λͺ¨λ“  κ²Œμ‹œλ¬Ό μ‘°νšŒν•˜κΈ°
    getAllBoards(): Board[] {
        return this.boards;
    }

    // κ²Œμ‹œλ¬Ό μƒμ„±ν•˜κΈ°
    createBoard(title: string, description: string) {
        const board: Board = {
            id: uuid(),    // λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ•Œμ•„μ„œ ν•΄μ£Όμ§€λ§Œ, μ—¬κΈ°μ„œλŠ” uuid λͺ¨λ“ˆλ‘œ μž„μ˜λ‘œ λ„£μ–΄μ€Œ
            title,
            description,
            status: BoardStatus.PUBLIC
        }
        this.boards.push(board);
        return board;
    }
}
728x90
λ°˜μ‘ν˜•
Comments