𝐆𝐫𝐚𝐩𝐡𝐐𝐋 𝐕𝐒 𝐑𝐄𝐒𝐓 𝐀𝐏𝐈
2024. 12. 11. 17:59ㆍTIL
✔오늘 배운 중요한 🔑 point
- REST API는 여러 엔드포인트를 통해 고정된 형태의 데이터 제공
- GraphQL은 하나의 엔드포인트를 통해 필요한 데이터만 제공
- REST API는 서버가 주도권을 가지고 GraphQL은 클라이언트가 주도권을 가진다.
- GraphQL은 데이터의 과다 전송이나 부족 문제를 해결할 수 있다.
🎯 오늘 배운 내용
GraphQL이란?
데이터 쿼리 언어이자, API를 위한 런타임 환경
특징
- 정확한 데이터 요청: 클라이언트가 필요한 데이터만 요청
- 단일 엔드포인트: 모든 요청을 하나의 엔드포인트에서 처리
- 타입 시스템: 강력한 타입 시스템을 사용하여 쿼리, 응답, 오류를 정의
- 실시간 데이터: subscriptions를 통해 실시간 데이터 업데이트를 지원
- 버전 관리 필요 없음: 버전 관리가 필요 없으며 클라이언트가 필요에 따라 쿼리를 수정함으로써 새로운 기능을 쉽게 사용
REST API와의 차이
- 데이터 요청 방식:
- REST API: 클라이언트는 여러 개의 엔드포인트에서 각각 필요한 데이터를 요청
- GraphQL: 하나의 엔드포인트만 사용하며, 클라이언트가 요청한 데이터의 정확한 구조를 정의
- 데이터 응답 방식:
- REST API: 서버에서 제공하는 구조에 맞춰 데이터를 요청. 때로는 여러 번의 요청이 필요
- GraphQL: 클라이언트가 응답받을 데이터의 형태를 직접 정의. 한 번의 요청으로 여러 리소스(예: 사용자, 게시글, 댓글 등)를 포함하는 응답을 받음.
- 버전 관리:
- REST API: API가 변경되면 새로운 버전을 만들어서 기존 클라이언트와의 호환성을 유지
- GraphQL: API의 버전 관리를 따로 하지 않아도 됨
- 데이터 처리 방식:
- REST API: 서버는 고정된 데이터 구조를 클라이언트에게 제공
- GraphQL: 클라이언트가 쿼리를 작성하고 서버는 이를 실행하여 원하는 데이터만 반환
🤔 어떻게 활용할까?
SNS, 블로그, 실시간 채팅 애플리케이션, 알림 시스템 등 복잡하고 실시간 업데이트가 필요한 경우에는 GraphQL의 사용이 더 적합할 수 있을 것 같다.
📓 오늘의 한줄
"Opportunities don't happen, you create them."
- Chris Grosser -
'TIL' 카테고리의 다른 글
HJ CHAT 로그인/회원가입 API 작성 (0) | 2024.12.13 |
---|---|
실시간 채팅 서비스 API 시스템 아키텍처 및 설계 (0) | 2024.12.12 |
공공데이터 활용 프로젝트 마무리 및 제출 (1) | 2024.12.09 |
내 로컬에 있는 컨테이너 EC2로 업로드하기 (0) | 2024.12.08 |
docker 사용해보기 (0) | 2024.12.07 |