Level 2
이번 레벨 부터 본격적으로 서비스 개발을 시작한다.
학습 목표
- URL, Http Method를 활용한 기본 라우팅 방법 학습
- Request Body, Query Params, Path Params 사용해보기
- ORM 사용
- 엔티티(테이블) 생성
- 기본적인 CRUD 활용
- 요청부터 응답까지 전체 과정 경험
- REST API 설계
- HTTP Status Code (상태 코드)
- Postman 사용법
요구 사항
- 게시글 작성 기능
- 게시글은 제목, 내용을 포함한다.
- 게시글이 저장될 때, id(PK, primary key)도 같이 Auto-increment 형식으로 저장돼야 한다.
- 게시글 작성에 성공했을 때, 응답값으로 작성된 게시글에 대한 정보를 보여주어야 한다.
- 게시글 전체 조회 기능
- 게시글을 조회할 때 id, 제목, 내용의 값이 포함돼야 한다.
- 특정 게시글 조회 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 조회한다.
- 게시글을 조회할 때 id, 제목, 내용의 값이 포함돼야 한다.
- 특정 게시글 수정 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 수정할 수 있어야 한다.
- 게시글의 제목, 내용을 수정할 수 있다.
- 게시글 수정에 성공했을 때, 응답값으로 수정된 게시글에 대한 정보를 보여주어야 한다.
- 특정 게시글 삭제 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 삭제할 수 있어야 한다.
우선 첫번째로 게시판의 정보를 저장할 데이터베이스 생성을 먼저 진행 하였다.
첫 데이터베이스 생성을 하며 나는 아직 기본 개념이 부족하다는 것을 깨달았다.
현재 데이터 그립에서 하는게 어떤 환경에서 왜 하는지를 모르고 여지껏 프로젝트를 팀원들을 따라 해왔던 것이었다.
우선 mysql -u root -p를 사용하여 루트 사용자로 로그인을 한다.
그러면 mysql 클라이언트 프로그램이 실행되고 데이터베이스 서버에 로그인 할 수 있다.
그리고 show databases;를 입력하면 생성한 데이터 베이스를 확인 할 수 있다.
MYSQL를 만들어 생성.
처음 Name은 왼쪽에 뜨는 Project Data Sources이며 Hoet는 localhost 포트는 맞게 생성해 주되 주로 mysql은 3306이다,.
그리고 User와 Password를 입력하면 된다.
rds를 이용할 경우 aws에서 데이터베이스 생성시 만든 계정으로 하고 Host는 엔드 포인트로 한다.
하지만 이번에는 로컬에서 진행을 하므로 locahost로 Host를 맞추며 root계정으로 진행을 하였다.
그리고 Post 테이블을 만들어 준다.
그리고 오른쪽은 이미 postman을 사용하여 데이터를 넣은 결과이다.
++ TypeORM을 사용할 경우 위와 같이 테이블 생성을 위한 sql을 따로 작성하지 않아도 된다...!
(ORM을 사용하면 프로젝트내에서 스키마를 생성하는것만으로 연결된 데이터베이스에 해당 테이블이 생성된다.)
컨트롤러와 서비스단의 코드이다.
우선 기본적인 게시판생성 조회 삭제 수정 로직은 이해를 하였다.
하지만 아직 typeorm의 내장 함수들에 대해는 잘 모르는것 같다.
구글링을 통해 해결 하긴 했지만 공식 문서를 참조하여 정보를 얻는 습관을 기르려고 노력해야겠다.
'외부활동 > JSCODE 서버[Nest]' 카테고리의 다른 글
2회차 익명 게시판 서비스 [에러 및 부족한 개념 채우기] (2) | 2024.02.29 |
---|---|
2회차 익명 게시판 서비스 [API문서 Swagger 만들기] (0) | 2024.02.29 |
2회차 익명 게시판 서비스 [유효성 검사, 예외처리] (0) | 2024.02.29 |
2회차 익명 게시판 서비스 [정렬, 검색, 개수제한] (0) | 2024.02.29 |
1회차 NestJS 환경세팅 및 Github세팅 (2) | 2024.02.29 |