coding/Nest JS

Nest JS CRUD

JIN_Coder 2022. 10. 31. 18:13

게시물 모델 정의하기

모델을 정의할땐 class, interface를 이용

interface = 변수의 타입만 체크

class = 변수의 타입 체크, 인스턴스 생성 가능

 

interface로 정의

// board.model.ts

export interface Board{
	id: string;
    tile: string;
    description: string;
    status: BoardStatus;
}

export enum BoardStatus{
	PUBLC = "PUBLIC",
    PRIVATE = "PRIVATE",
}

CR 코드

 

// board.service.ts

@Injectable()
export class BoardsService {
	private boards: Board[] = [];
    
    // 게시물 모두 불러오기
    getAll Boards(): Board[] {
    	return this.boards;
    }
    
    // 게시물 생성
    createBoard(title:string, description:string) {
    	const board:Board = {
        	id: uuid(),
            title,
            description,
            status: BoardStatus.PUBLIC,
        }
    }
    this.boards.push(board);
    return board;
}
// boards.controller.ts

@Controller('boards')
export class BoardsController {
	constructor(private boardService: BoardService){}
    
    // 모든 게시물 불러오기
    @Get()
    getAllTask(): Board[] {
    	return this.boardsService.getAllBoards();
    }
    
    // 게시물 생성하기
    @Post()
    createBoard(
    	@Body("title") title: string,
        @Body("description") description: string,
    ): board{
    	return this.boardsService.createBoard(title, description);
    }
}

'coding > Nest JS' 카테고리의 다른 글

PostgresSQL TypeORM  (0) 2022.11.03
Nest JS 파이프  (0) 2022.11.01
Nest JS 개념 및 설치  (0) 2022.10.29