220519 GraphQL

SOMEmo·2022년 5월 19일
0

GraphQL이란?
Facebook이 만든 쿼리 언어

쿼리언어?

SQL(Structured Query Language): 구조화된 질의어
RDBMS(관계형 데이터베이스 관리 시스템)의 데이터 관리를 위해 설계된 언어
DB로부터 데이터를 효율적으로 가져오기 위해


환경 설정 및 프로젝트 생성

GraphQL은? -> 라이브러리가 아니라 명세다
다뤄보려면 -> 구현체가 필요하다
star wars api -> clone해서 로컬에서
다양한 도구들 graphql graphiql express... 등


GraphQL 기본 1

쿼리 -> 요청, 결과 동일 / 주석/ 작업(타입/이름)
쿼리 -> 필드 객체 참조(다중콜X) / 인자 / 별칭
Fragment -> 반복되는 필드셋 / 변수 전달 가능
변수 / 지시어 -> 동적 쿼리 방법 / @include @skip


GraphQL 기본 2
뮤테이션

쿼리는 데이터를 가져오는 것
뮤테이션은 데이터를 수정하는 것

Apolio GraphQL -> 다양한 기능이 추가된 라이브러리
뮤테이션 다중 필드 -> 순차 실행(쿼리는 병렬)
인라인 프래그먼트 -> interface/union일때 사용


GraphQL 기본 3

스칼라 타입

객체 타입은 이름과 필드를 가짐
타입을 타고타고 가다가
결국 쿼리의 끝에선 구체적인 데이터로 해석되어야 함.

인터페이스

특정 필드들을 포함하는 추상 타입
해당 인터페이스를 구현한 타입들이 가져야 할 필드 정의
Inline Fragments가 Interface나 Union 타입에서 쓰인다고 했었음

타입 시스템 -> 객체 타입과 필드
특별한 타입 -> 쿼리 타입 / 뮤테이션 타입
스칼라 타입 -> 구체적 데이터
기타 -> 인터페이스 / 유니온 / 인풋

0개의 댓글