GraphQL - Các thành phần ứng dụng

Chương này thảo luận về các thành phần GraphQL khác nhau và cách chúng giao tiếp với nhau. Toàn bộ thành phần ứng dụng có thể được phân biệt như sau:

  • Thành phần phía máy chủ
  • Các thành phần phía máy khách

Thành phần phía máy chủ

Máy chủ GraphQL tạo thành thành phần cốt lõi ở phía máy chủ và cho phép phân tích cú pháp các truy vấn đến từ các ứng dụng máy khách GraphQL. Apollo Server được sử dụng phổ biến nhất để triển khai đặc tả GraphQL. Các thành phần lập trình máy chủ khác bao gồm:

Sr.No. Thông tin cơ bản & Mô tả về Máy chủ
1

Schema

Một lược đồ GraphQL là trung tâm của bất kỳ triển khai máy chủ GraphQL nào và mô tả chức năng có sẵn cho các máy khách kết nối với nó.

2

Query

Truy vấn GraphQL là yêu cầu ứng dụng khách truy xuất dữ liệu từ cơ sở dữ liệu hoặc API kế thừa.

3

Resolver

Trình phân giải cung cấp hướng dẫn để chuyển hoạt động GraphQL thành dữ liệu. Chúng giải quyết truy vấn đến dữ liệu bằng cách xác định các chức năng của trình phân giải.

Các thành phần phía máy khách

Dưới đây là các thành phần phía máy khách -

Sr.No. Công cụ & Mô tả
1

GraphiQL

Giao diện dựa trên trình duyệt để chỉnh sửa và thử nghiệm các truy vấn và đột biến GraphQL.

2

ApolloClient

Công cụ tốt nhất để xây dựng các ứng dụng khách GraphQL. Tích hợp tốt với tất cả javascript front-end.

Sơ đồ dưới đây cho thấy một Client-Server architecture. Máy chủ web được xây dựng trên khung NodeJs và Express. Một yêu cầu được gửi đến Máy chủ Apollo GraphQL bằng ứng dụng ReactJS (được xây dựng bằng thư viện Máy khách Apollo) hoặc ứng dụng trình duyệt GraphiQL. Truy vấn sẽ được phân tích cú pháp và xác thực dựa trên một lược đồ được xác định trong máy chủ. Nếu lược đồ yêu cầu vượt qua quá trình xác thực, thì các chức năng của trình giải quyết liên quan sẽ được thực thi. Trình phân giải sẽ chứa mã để tìm nạp dữ liệu từ API hoặc cơ sở dữ liệu.