GraphQL

김남경·2023년 1월 30일
0

network

목록 보기
22/27

의미

💡 Server API 를 통해 정보를 주고받기 위해 사용하는 Query Language

그래프 사용 이유

그래프
여러 개의 점들이 서로 복잡하게 연결되어 있는 관계를 표현한 자료구조
점을 Node 또는 정점(vertex)이라고 하고
선은 간선(edge)이라 함

💡 모든 데이터가 그래프 형태로 연결되어 있다고 전제
💡 각 노드간의 간선을 통해 특정한 순서에 따라 그래프를 재귀적으로 탐색 가능
💡 클라이언트 요청에 따라 유연하게 트리 구조의 JSON 데이터를 응답으로 전송 가능
💡 REST API 방식의 고정된 자원이 아닌 클라이언트 요청에 따라 유연하게 자원을 가져올 수 있음

그래프에서 트리 추출

💡 클라이언트가 어떤 데이터를 필요로 하느냐에 따라 그래프를 트리 구조화
💡 GraphQL은 트리 구조로 쿼리 결과를 받기 위해 그래프를 탐색하는 쿼리 언어

특징

💡 HTTP를 통해 API 서버로 요청을 보내고 응답을 받음
💡 응답을 받을 시, 데이터 결과는 JSON 형식
💡 서버 개발자가 작성한 각 필드에 대응하는 resolver 함수로 각 필드의 데이터를 조회 가능
💡 GraphQL 라이브러리가 조회 대상 schema가 유효한지 검사

참고

Node JS에서 Express JS를 사용하여 GraphQL API 서버를 만드는 방법

profile
기본에 충실하며 앞으로 발전하는

0개의 댓글