GraphQL-애플리케이션 구성 요소
이 장에서는 다양한 GraphQL 구성 요소와 서로 통신하는 방식에 대해 설명합니다. 전체 애플리케이션 구성 요소는 다음과 같이 구분할 수 있습니다.
- 서버 측 구성 요소
- 클라이언트 측 구성 요소
서버 측 구성 요소
GraphQL 서버는 서버 측의 핵심 구성 요소를 형성하고 GraphQL 클라이언트 응용 프로그램에서 오는 쿼리를 구문 분석 할 수 있습니다. Apollo Server는 가장 일반적으로 사용되는 GraphQL 사양 구현입니다. 다른 서버 프로그래밍 구성 요소는 다음과 같습니다.
Sr. 아니. | Server Essentials 및 설명 |
---|---|
1 | Schema GraphQL 스키마는 GraphQL 서버 구현의 중심에 있으며 연결하는 클라이언트가 사용할 수있는 기능을 설명합니다. |
2 | Query GraphQL 쿼리는 데이터베이스 또는 레거시 API에서 데이터를 검색하기위한 클라이언트 애플리케이션 요청입니다. |
삼 | Resolver 해석기는 GraphQL 연산을 데이터로 변환하기위한 지침을 제공합니다. 리졸버 함수를 정의하여 쿼리를 데이터로 해결합니다. |
클라이언트 측 구성 요소
다음은 클라이언트 측 구성 요소입니다.
Sr. 아니. | 도구 및 설명 |
---|---|
1 | GraphiQL GraphQL 쿼리 및 변형을 편집하고 테스트하기위한 브라우저 기반 인터페이스입니다. |
2 | ApolloClient GraphQL 클라이언트 애플리케이션을 구축하는 최고의 도구입니다. 모든 자바 스크립트 프런트 엔드와 잘 통합됩니다. |
아래 다이어그램은 Client-Server architecture. 웹 서버는 NodeJ와 Express 프레임 워크를 기반으로합니다. ReactJS 애플리케이션 (Apollo 클라이언트 라이브러리를 사용하여 구축) 또는 GraphiQL 브라우저 애플리케이션에 의해 Apollo GraphQL 서버에 요청이 이루어집니다. 쿼리는 서버에 정의 된 스키마에 대해 구문 분석되고 유효성이 검사됩니다. 요청 스키마가 유효성 검사를 통과하면 연결된 확인자 함수가 실행됩니다. 리졸버에는 API 또는 데이터베이스에서 데이터를 가져 오는 코드가 포함됩니다.