TIL
[TIL - 231124] NestJS 기본 정리, GraphQL, REST API 설계 원칙
HangJu_95
2023. 11. 24. 23:50
728x90
오늘 한 일
- NestJS 기본 정리
- GraphQL 정리 진행
- REST API 설계 원칙
- 기업 지원
NestJS 기본 정리
- NestJS의 기본 중 Controller, Provider, Module을 정리하였다.
- 기본을 적으면서, 내가 부족한 것들이 무엇인지 깨달았다.
- 기본적인 내용이기에, 빠르게 공부해야 겠다는 생각을 하였다.
NestJS 프로젝트를 진행하면서, 부족한 기본기들을 느껴 공식 문서를 확인하고 공부를 진행했다.
아직 해야할 게 많지만, 천천히 하나씩 공부하면 될 것이라는 판단이 느껴졌다.
GraphQL 정리
- GraphQL을 정리하면서 왜 이것을 사용하는지 깨달았다.
- RestAPI의 Overfetch, underfetch 문제를 단순하게 해결하고, 한번의 호출을 통해 많은 데이터를 가져온다는 장점이 존재.
- 그러나 프론트엔드에서 단순하게 API을 호출하는 것이 아닌, 어떠한 인자를 받아올 지도 정의해야 한다.
GraphQL을 RestAPI와 비교해봤을때
- 한번의 호출을 통해 내가 원하는 많은 데이터를 가져올 수 있다는 장점
- 단 하나의 Endpoint가 존재하는 장점
- Rest API와 다르게 실시간으로 명세가 가능하다는 장점
이러한 장점들이 보였다.
설문지 Service를 구현하는 과제가 있었는데, 이러한 이유로 인해 설문지 Service에서는 GraphQL을 사용하는 것 같다.
REST API 설계 원칙
- 면접 질문 때 나왔던 REST API 설계 원칙을 다시 공부하였다.
- 간단하지만, 몇몇 규칙들 중 내가 지키지 않는 것도 확인할 수 있었다.
가장 중요한 원칙은
1. URL은 정보의 자원을 표현해야 하며, 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 합니다.
2. 자원에 대한 행위는 HTTP 메서드로 표현해야 합니다.
두 가지가 존재하였다.