GraphQL은 무엇입니까?

2153 단어 webdevgraphql

정의 :



Graphql은 쿼리 언어입니다. 그러나 널리 사용되는 SQL 언어(예: MySQL, PostgresSQL)와 같이 데이터베이스와 상호 작용하는 언어라는 의미는 아닙니다.

So what does GraphQL do?
Queries an API, not a database.




GraphQL에서 쿼리와 돌연변이의 차이점



GraphQL은 GET , POST , PUT , DELETE 와 같은 http 요청 방법을 요구하지 않습니다.

GraphQL에서 GET를 사용하여 Query 데이터로 이동할 가능성이 가장 높습니다. 다른 데이터 업데이트 방법POST, PUT, DELETEMutations에서 처리합니다.

앱에서 모든 애완동물을 가져오는 Aquery는 다음과 같습니다.

query GetAllPets {
  pets {
    name
    petType
  }
}


그런 다음 새 애완 동물을 추가하는 mutation는 다음과 같이 보일 수 있습니다.

mutation AddNewPet ($name: String!, $petType: PetType) {
  addPet(name: $name, petType: $petType) {
    id
    name
    petType
  }
}



GraphQL 대 REST




GraphQL
쉬다

GraphQL은 기존 데이터로 쿼리를 실행하기 위해 Facebook에서 개발한 애플리케이션 계층 서버 측 기술입니다.
REST는 웹 서비스를 생성하기 위한 일련의 제약 조건을 정의하는 소프트웨어 아키텍처 스타일입니다.

클라이언트 중심 아키텍처를 따릅니다.
서버 기반 아키텍처를 따릅니다.

GraphQL은 스키마 측면에서 구성할 수 있습니다.
REST는 끝점 측면에서 배열할 수 있습니다.

GraphQL은 성장하는 커뮤니티입니다.
REST는 대규모 커뮤니티입니다.

GraphQL의 개발 속도는 빠릅니다.
REST의 개발 속도는 느립니다.

GraphQL의 학습 곡선은 어렵습니다.
REST의 학습 곡선은 보통입니다.

ID는 가져오는 방법과 구분됩니다.
REST에서 호출하는 끝점은 개체의 ID입니다.

GraphQL에서 서버는 사용 가능한 리소스를 결정합니다.
리소스의 모양과 크기는 REST의 서버에 의해 결정됩니다.

GraphQL은 모든 플랫폼에서 높은 일관성을 제공합니다.
모든 플랫폼에서 일관성을 유지하는 것은 어렵습니다.

GraphQL 변형의 메시지 형식은 문자열이어야 합니다.
REST 변형의 메시지 형식은 무엇이든 될 수 있습니다.

강력하게 입력됩니다.
약하게 입력됩니다.

GraphQL API 엔드포인트는 단일입니다.
REST API 끝점은 여러 개입니다.

다음에 대한 메타데이터를 사용합니다.
쿼리 유효성 검사.
컴퓨터에서 읽을 수 있는 메타데이터를 캐시할 수 없습니다.

모든 운영 체제에서 일관되고 고품질의 UX를 제공합니다.
모든 운영 체제에서 일관성을 유지하는 것은 어렵습니다.

GraphQL의 파트너는 API 사용자 정의가 필요합니다.
새로운 애플리케이션을 쉽게 활성화할 수 있는 유연한 공개 API를 제공합니다.

좋은 웹페이지 즐겨찾기