728x90
[개요]
페이스북에 의하여 REST API 문제를 해결하기 위해 만들어짐
[개념]
- Specification (Spec) : GraphQL 문서에 작성된 규칙의 종류. 오픈소스 됨
- GraphQL : 아이디어, 개념. 쿼리 언어
- GraphQL Implementations : GraphQL의 spec을 읽고 해당 규칙을 실제의 코드로 번역한 것
[특징]
어느 특정 언어에 종속되지 않음
[REST API]
- API : 서버와 통신하기 위해 만들어진 인터페이스
- REST API : 여러개의 URL을 활용하여 작동함. 모든 URL은 고유하고, 각기 다른 데이터를 제공함. 이 URL은 특정 웹사이트의 URL이 아니고 JSON 포멧으로 데이터를 제공하는 역할임
- REST : 매번 새로운 URL을 생성하는 방식
[REST API 문제점을 해결한 GraphQL]
1. Over Fetching : 내가 필요한 것보다 더 많은 데이터를 가져온 경우
=> 실제 필요한 정보만 특정하여 요청한다면 DB가 일을 많이 할 필요도 없고 서버와 휴대폰 간의 이동해야 하는 데이터도 커지지 않기 때문에 로딩 시간도 획기적으로 줄 것임
=> GraphQL은 Query Language이기 때문에 정확하게 필요한 정보만 요청할 수 있음
2. Under Fetching : 필요한 것보다 적은 양의 데이터를 가져온 경우
=> 각기 다른 정보가 필요할 때 REST API는 두 개의 URL을 요청해야 하므로 로딩 시간이 오래 걸림. GraphQL은 정확히 원하는 것만 요청할 수 있기 때문에 1개의 쿼리에 2개의 정보를 한방에 요청할 수 있음
'두두의 IT' 카테고리의 다른 글
CI(Continuous Integration)/CD(Continuous Delivery/Deployment)란? (0) | 2022.06.15 |
---|---|
[DB] Data Storage (0) | 2022.06.15 |
JIRA 프로젝트 만들기 (0) | 2022.05.30 |
[AngularJS] 문법 (0) | 2022.05.30 |
[JPA] 원하는 매개변수로 findBy 메소드 생성하기 (0) | 2022.05.26 |