GRAPHQL LÀ GÌ?

GraphQL là Graph Query Language do Facebook tạo ra từ năm 2012 cung cấp giao thức chung cho phép giao tiếp giữa client và server để cập nhật và lấy dữ liệu.

GraphQL có 3 đặc điểm chính:

  • Nó cho phép client xác định chính xác dữ liệu nào mà client cần. Nhờ đó dữ liệu trao đổi không bị nặng tải vì chỉ lấy vè những gì cần thiết nhất.
  • Nó giúp cho việc tổng hợp dữ liệu từ nhiều nguồn trở nên dễ dàng hơn
  • Nó sử dụng một hệ thống kiểu để mô tả dữ liệu

Ví dụ client xác định chính xác dữ liệu nào cần

Để đơn giản và dễ hiểu hơn, mình xin lấy ví dụ luôn cách sử dụng GraphQl trong magento 2.3. Để chạy thử GraphQl, ta có thể cài extension hỗ trợ tạo câu truy vấn nhanh là GraphiQl. Đây là một extension trên Chrome hỗ trợ tạo request để test nhanh (tương tự như Postman hay Restlet Client phục vụ test RestAPI).

Bước 1: Đặt endpoint là: <tên_domain>/graphql

image

Bước 2: Chọn Set endpoint.

Bước 3: Chọn dữ liệu gửi lên như sau:

image

Bước 4: Bấm nút execute:

image

Kết quả trả về như sau:

image

ở đây ta có thể thấy từ phía client, ta đã định nghĩa sẵn các dữ liệu cần được trả về. Để lấy thêm dữ liệu, ta chỉ việc sửa câu truy vấn client lên thành:

image

Kết quả trả về là:

image

Vậy dữ liệu gồm chính xác đúng những gì đã được mô tả ở phía client.

Nếu bạn là một Fullstack Developer, ưa thích làm sản phẩm quốc tế trong lĩnh vực bán lẻ - thương mại điện tử! Tham gia Tuyển dụng Fullstack Developer, môi trường làm việc từ xa, địa điểm tự do, quản lý linh hoạt theo Agile

Hãy đăng ký nhận tin để là người đầu tiên đọc bài viết mới nhất từ chúng tôi nhé

Posted 
Apr 17, 2020
 in 
Tech
 category

Bài viết khác từ

Tech

category

View All