GraphQL에 대한 포괄적이고 심층적인 설명

목차

1. GraphQL이란 무엇입니까?

2. GraphQL 사양

데이터 모델

필드

매개변수

3. 실행 예시

4. 장점과 단점

이점

단점


1. GraphQL이란 무엇입니까?

GraphQL  은 API용 쿼리 언어이자 서버 기반 실행 엔진입니다. GraphQL은 API 쿼리에 대한 완전한 사양 및 설명 세트를 제공하며, 서버는 중복 데이터 없이 클라이언트가 요구하는 데이터를 정확하게 반환할 수 있습니다. GraphQL은 본질적으로 프런트엔드 및 백엔드 데이터를 쿼리하는 데 사용되는 API 쿼리 언어입니다. 개발자는 데이터 모델, 쿼리 사양 및 쿼리 매개변수를 사용자 정의하고 하나의 요청으로 원하는 모든 데이터를 얻을 수 있습니다. 이는 필요한 데이터를 얻기 위해 여러 요청이 필요할 수 있는 RESTful 요청과 다릅니다. 따라서 GraphQL 요청에서 개발자는 반환된 결과를 확신합니다.

2. GraphQL 사양

데이터 모델

데이터 모델은 객체 엔터티의 데이터 구조와 객체가 갖는 속성과 같은 객체 간의 관계를 정의하는 데 사용됩니다. 다음 그림은 쿼리 쿼리와 두 개의 반환 객체 헤더 및 쿼리를 정의하는 완전한 데이터 모델을 나타냅니다. 두 객체 포함된 속성 필드와 데이터 유형도 별도로 정의되며 실제 GraphQL 요청에 사용됩니다.

필드

GraphQL 쿼리에서 서버가 클라이언트에 반환하는 요청 결과에는 각 요청의 필드 결과 데이터를 정확하게 반환하는 예상 구조가 포함되어 있습니다. 서버가 응답하는 필드가 요청한 필드와 일치하는 것은 GraphQL의 가장 중요한 기능이며 개발자들이 기대했던 것입니다. 아래 그림과 같이 위에서 정의한 예제에 따르면 두 개의 필드를 요청하고 두 필드의 결과를 반환한다. 사용된 참조 도구는 다음과 같습니다: APOLLO

매개변수

데이터를 조회할 때 조회할 매개변수를 전달할 수 있습니다. 예를 들어 아래 그림에서 person은 id 매개변수를 사용하여 관련 속성 데이터를 조회하고, 아래 변수에 실제 ID를 입력하여 조회할 수 있습니다.

3. 실행 예시

예시 1: 데이터 모델을 기반으로 완전한 데이터 결과 출력

4. 장점과 단점

GraphQL의 몇 가지 기본 개념과 사용법을 이해하고 GraphQL을 API 쿼리 언어로 사용할 때의 장점과 단점을 간략하게 분석합니다.

이점

  • GraphQL은 하나의 데이터 소스만 사용하여 모든 데이터를 쿼리할 수 있으며 모든 요청은 서비스 엔드포인트에 액세스할 수 있습니다.
  • GraphQL에서 반환된 결과 응답은 클라이언트의 요청 필드를 정확하게 기반으로 하여 클라이언트와 서버 간의 간섭을 줄입니다.
  • GraphQL은 요청의 매개변수 전송을 포함하여 모든 데이터 유형의 정의 및 전송을 지원합니다.
  • GraphQL에는 이제 플러그인 및 확장 기능뿐만 아니라 다양한 오픈 소스 도구 플랫폼이 있습니다.

단점

  • RESTful 요청에 익숙한 일부   개발자는 GraphQL을 배우는 데 시간을 투자해야 할 수도 있습니다.
  • RESTful 인터페이스 개발에 비해 서버 측 개발자는 유지 관리가 더 쉬운 데이터 모델을 개발하는 데 더 많은 시간을 투자해야 할 수 있습니다.

추천

출처blog.csdn.net/FENGQIYUNRAN/article/details/133499450