처음부터 차근차근

[TIL - 231124] NestJS 기본 정리, GraphQL, REST API 설계 원칙 본문

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와 비교해봤을때

  1. 한번의 호출을 통해 내가 원하는 많은 데이터를 가져올 수 있다는 장점
  2. 단 하나의 Endpoint가 존재하는 장점
  3. Rest API와 다르게 실시간으로 명세가 가능하다는 장점

이러한 장점들이 보였다.

설문지 Service를 구현하는 과제가 있었는데, 이러한 이유로 인해 설문지 Service에서는 GraphQL을 사용하는 것 같다.

REST API 설계 원칙

  • 면접 질문 때 나왔던 REST API 설계 원칙을 다시 공부하였다.
  • 간단하지만, 몇몇 규칙들 중 내가 지키지 않는 것도 확인할 수 있었다.

가장 중요한 원칙은

1. URL은 정보의 자원을 표현해야 하며, 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 합니다.

2. 자원에 대한 행위는 HTTP 메서드로 표현해야 합니다.

두 가지가 존재하였다.