본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
봄맞이 특급 혜택 '하나 더 봄'🌸 1+1 이벤트 (3/4~3/9) | 패스트캠퍼스
당신의 성장도 피어날 거예요. 1+1 쿠폰으로 강의 보고 또 보고!
fastcampus.co.kr
내용정리
@Controller() <- 안에 공통으로 사용되는 url을 사용
ex) Controller('movie')
이렇게 사용하면 각 method(Get, Patch, Delete, Post)에 사용안해도됨.
각 method path 설정
@Get(':id') 이렇게 사용가능
따라서, get method의 최종 path는 movie/:id 이다.
path param이 필요할 때와 필요없을 때가 있다.
필요할 때는 요청받는 서버 입장을 생각해야한다.
학습후기
오늘 강의에서는 NestJS를 활용한 백엔드 개발 기초를 다지며, 서버의 라우팅과 CRUD 구현 방식을 직접 체험해보는 유익한 시간이었습니다. 우선, @Controller('movie') 데코레이터를 통해 공통 URL 경로를 설정함으로써 각 메서드(@Get, @Post, @Patch, @Delete)마다 중복되는 경로 작성 없이 효율적인 코드를 작성할 수 있다는 점이 인상적이었습니다.
예를 들어, @Get(':id')를 사용하면 최종 경로가 movie/:id가 되어, 요청 시 path parameter가 필요한 경우와 그렇지 않은 경우를 명확하게 구분할 수 있음을 알게 되었습니다. path param을 써야할 때와 안써야할 때를 조금 알아간거같습니다.
또한, 존재하지 않는 ID에 대해서는 NotFoundException을 발생시켜 클라이언트에 적절한 에러 메시지를 전달하는 예외 처리 로직을 구현하며, 실무에서의 견고한 코드 작성 방법에 대해 배웠습니다. 실습 과정에서는 POST 메서드를 이용해 새로운 영화 데이터를 추가하고, PATCH 메서드로 기존 영화의 제목을 업데이트하는 등 CRUD의 기본 원리를 직접 구현해보며 이해도를 높였습니다.
비록 자바스크립트를 미리 배우지 않아 기본 개념부터 익히지 않은 상태에서 강의를 시작하니 초반에는 다소 어려움이 있었지만, 이번 강의가 기본 문법 중심으로 진행된 덕분에 큰 부담 없이 따라갈 수 있었습니다. 기본 문법은 ChatGPT와 함께 보조 학습을 진행하면서 익혔기 때문에 진도가 다소 느리더라도 내용을 꼼꼼하게 이해할 수 있었습니다.
더불어, 강의에서 제시된 요구사항 외에도 id만 반환하는 것이 아니라 title도 함께 반환해보는 등의 추가 도전을 통해 창의적인 접근을 시도한 점이 스스로 발전할 수 있는 좋은 계기가 되었습니다. 오늘 배운 내용들이 앞으로 보다 복잡한 기능들을 구현할 때 밑거름이 될 것이라 확신하며, 이번 강의를 통해 백엔드 개발에 대한 자신감과 흥미를 한층 높일 수 있었습니다.
또한, 실습 중 직접 코드를 수정하며 추가 기능을 구현해보는 경험은 큰 도움이 되었습니다. 이러한 도전 과정을 통해 앞으로의 개발 공부에 더욱 자신감을 얻었으며, 다양한 프로젝트에서 배운 내용들을 적극적으로 활용할 수 있을 것이라 기대합니다.
시작시간

종료시간

수강 클립들

결과물
