동도리 개발 로그
GraphQL 정리 본문
반응형
GraphQL
GraphQL은 페이스북에서 만든 '쿼리 언어'다. SQL 과 같은 역할을 하지만 구조 차이는 매우 크다.
실제 사용하는 방식도 많이 다르다.
sql은 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는것이 목적이고, gql(GraphQL)은 웹 클라이언트가 데이터를 서버로 부터 효율적으로 가져오는 것이 목적이다. sql의 문장은 백앤드에서 작성되어있고 호출 하지만 gql은 클라이언트가 작성하고 호출하게 되어있다.
sql 예시
SELECT id, name, class FROM tbclasses WHERE id = '1';
gql 예시
{
qeury{
classes(id:"1"){
id
name
class
}
}
}
sql 은 백앤드에 이미 저장되어 있는 쿼리이고, gql 은 클라이언트가 쿼리를 만들어서 백앤드로 보낸다.
** 클라이언트가 원하는 형태로 데이터를 가져올 수 있다.
gql은 특정 데이터베이스나 플렛폼에 종석적이지 않고 네트워크 방식에도 종속적이지 않는다.
REST API와 비교
REST API는 URL 과 get, post, delete 와 같은 메소드에 따라 많은 Endpoint가 존재 할 수 밖게 없다. 반면에 gql은 Endpoint 가 하나만 존재 한다.
REST API는 각 Endpoint 마다 쿼리가 있지만 , gql 은 클라이언트의 쿼리마다 데이터베이스 sql 쿼리가 달라진다.
또한 gql API를 사용하면 여러번의 네트워크 호출 없이 한번의 호출로 처리 가능하기도하다.
이어서....
반응형