GraphQL 소개
GraphQL 및 Adobe Commerce에 대한 시리즈 중 1부입니다. GraphQL은 클라이언트측 애플리케이션이 백엔드와 통신하는 강력한 방법에 대한 업계 표준으로 빠르게 자리매김했습니다. 플랫폼이 Headless 구현 영역에서 기능을 계속 확장함에 따라 Adobe Commerce 개발자에게 점점 더 관련성이 높아지는 주제입니다.
GraphQL을 처음 사용하는 경우 이 섹션에서는 기본 개념과 사용법을 안내합니다.
이 시리즈의 GraphQL 관련 비디오 및 튜토리얼
GraphQL란?
GraphQL은 고유한 API 쿼리 언어 및 해당 쿼리 언어에 대한 응답으로 데이터를 제공하는 런타임에 대한 사양입니다.
REST와 같은 기존 웹 API는 서로 다른 시스템에서 데이터를 주고받는 데는 유용했지만 Progressive Web Application과 같은 최신 앱 링크 경험에는 최고 성능보다 낮은 성능을 제공했습니다. 이와 같은 응용 프로그램에서는 same 응용 프로그램의 프런트 엔드 및 백 엔드 계층이 웹 API를 통해 통신합니다. REST와 같은 체계의 제한된 접근법은 종종 많은 종류의 데이터를 빨리 가져와야 하는 이 맥락에서 적절한 유연성을 제공하지 않는다.
GraphQL을 사용하면 클라이언트가 필요한 데이터를 정확하게 설명할 수 있습니다. 여러 데이터 형식을 가져오기 위해 여러 네트워크 요청을 필요로 하는 대신 하나의 요청으로 여러 형식을 쿼리할 수 있습니다. 또한, 요청된 유형과 필드만 포함하여(쿼리를 직관적으로 미러링하는 형식으로) 응답을 희박하게 유지합니다.
GraphQL 사양을 구현하는 런타임은 모든 언어로 작성할 수 있습니다. Adobe Commerce 및 Magento Open Source에서
graphql-php PHP 구현과 그 위에 고유한 레이어를 만듭니다.
GraphQL 클라이언트 사용
코드 샘플 및 튜토리얼을 테스트하려면 GUI GraphQL 클라이언트가 필요합니다. 다음과 같은 몇 가지 옵션이 있습니다.
- Altair은(는) GraphQL용으로 특별히 빌드된 훌륭한 완전한 기능을 갖춘 클라이언트입니다. Adobe은 워크스루 비디오에서 알테어를 사용합니다.
- 데스크탑 애플리케이션을 설치하지 않으려는 경우
Chrome, Firefox 또는 Edge 브라우저. - GraphiQL은(는) GraphQL Foundation에서 GraphQL IDE를 구현한 것입니다. 이것은 설치 가능한 도구가 아니라 직접 인터페이스를 빌드하는 데 사용할 수 있는 패키지입니다.
- 이미 Postman에 익숙하다면 전용 GraphQL 클라이언트만큼 완전한 기능은 아니지만 GraphQL 쿼리에 대한 적절한 지원을 받을 수 있습니다.
GraphQL 클라이언트에서 Adobe Commerce 또는 Magento Open Source 인스턴스의 URL 경로 /graphql
에 요청을 제출해야 합니다. 기존 인스턴스를 테스트에 사용하려면 Venia 테마의 데모(PWA Studio 구현의 예)를 사용할 수 있습니다. https://venia.magento.com/graphql