GraphQL
그래프큐엘
API를 위한 쿼리 언어이다.
주요특징
- API를 위한 쿼리 언어이며 이미 존재하는 데이터로 쿼리를 수행하기 위한 런타임
- API에 있는 데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공
- 클라이언트에게 필요한 것을 정확하게 요청할 수 있는 기능을 제공
- 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원
type Query {
me: User
}
type User {
id: ID
name: String
}
function Query_me(request) {
return request.auth.user;
}
function User_name(user) {
return user.getName();
}
쿼리 예제
{
me {
name
}
}
{
"me": {
"name": "Luke Skywalker"
}
}
JSON 형태로 결과를 얻을 수 있다.
필요한 것만 정확히
API에 GraphQL 쿼리를 보내고 필요한 것만 정확히 얻을 수 있다.
GraphQL 쿼리는 항상 예측 가능한 결과를 반환한다.
서버가 아닌 데이터를 제어하기 때문에 빠르며 안정적이다.
단일 요청으로 많은 데이터 얻기
GraphQL 쿼리는 하나의 리소스 속성에 액세스할 뿐만 아니라 이 리소스 간의 자연스러운 참조
일반적인 REST API는 여러 URL에서 데이터를 받아와야 하지만 GraphQL API는 한번의 요청으로 앱에 필요한 모든 데이터를 가져온다. GraphQL을 사용하는 앱은 느린 모바일 네트워크 연결에서도 빠르게 수행할 수 있다.
타입 시스템으로 가능한 것
GraphQL API는 엔드포인트가 아닌 타입과 필드로 구성된다.
GraphQL은 타입 시스템을 사용하여 앱이 가능한 것을 요청하고 명확하고 유용한 오류를 제공하는 것을 보장한다.
앱은 타입을 사용하여 수동 파싱 코드 작성을 피할 수 있다.
'Dev' 카테고리의 다른 글
PWA 프로그레시브 웹앱의 장단점 (0) | 2020.10.18 |
---|---|
리액트 네이티브 장점 단점 (0) | 2020.10.10 |
Deno 디노 (0) | 2020.10.01 |
canvas tutorial 1 (0) | 2020.09.26 |
GET & POST 메서드 (0) | 2020.09.23 |
댓글