게시물 모델 정의하기
모델을 정의할땐 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 |