Graphql Là Gì

     

Chào phần đa người.Sau khi tìm hiểu về GraphQL, bản thân xin mạo muội share chút kỹ năng về nó đến mọi tín đồ cùng tiếp cận với cách sử dụng GraphQL như thế nào nhé.Bạn đang xem: Graphql là gì

I. Reviews về GraphQL

1.1 Tổng quan

GraphQL là ngôn ngữ thao tác và truy vấn tài liệu nguồn mở đến API, cung ứng cho client một cách thức tiện lợi để request đúng đắn những gì bọn họ cần, giúp việc cải cách và phát triển API dễ dàng hơn theo thời gian. GraphQL được Facebook trở nên tân tiến nội bộ vào khoảng thời gian 2012 trước lúc phát hành công khai vào năm 2015.

Bạn đang xem: Graphql là gì

GraphQL bao gồm 3 điểm đặc thù bao gồm:

Cho phép client xác định đúng đắn những tài liệu gì chúng ta cầnGraphQL tạo nên việc tổng đúng theo dữ liệu từ khá nhiều nguồn dễ dàng hơnSử dụng một type system để khai báo dữ liệu.


*

1.2 Trả về chính xác những gì các bạn gửi request

Khi bạn gửi 1 request GraphQL mang lại API của bạn, bạn sẽ nhận được đúng đắn những gì chúng ta yêu cầu trong request, không rộng không kém.Các tróc nã vấn GraphQL luôn trả về kết quả có thể dự đoán được.Các ứng dụng sử dụng GraphQL rất cấp tốc và bất biến vì GraphQL điều hành và kiểm soát dữ liệu mà nó nhận được chứ không phải máy chủ.


*

1.3 nhấn nhiều tài liệu trong một request duy nhất

Các câu query GraphQL không chỉ có thể truy xuất các thuộc tính của một dữ liệu mà còn khiến cho việc trơn tru với các đối tượng người tiêu dùng khác.Trong khi các API REST họ hay dùng buộc phải yêu cầu request từ rất nhiều URL thì API GraphQL lại có thể lấy tất cả dữ liệu nhưng mà ứng dụng của bạn cần vào một request duy nhất.Các ứng dụng áp dụng GraphQL có tốc độ xử lý cực kỳ nhanh ngay cả trên những kết nối chậm.
*

1.4 thể hiện những gì hoàn toàn có thể với một type system

API GraphQL được tổ chức theo types với fields, tróc nã cập tổng thể dữ liệu của khách hàng từ một endpoint duy nhất.GraphQL sử dụng những types để bảo đảm an toàn ứng dụng của khách hàng chỉ request đầy đủ gì gồm thể, dường như GraphQL còn phân tích và lý giải các lỗi 1 cách rất dễ dàng hiểu.Ứng dụng của bạn có thể sử dụng các types để tránh viết code đối chiếu cú pháp thủ công.
*

OK, bởi vậy sau 1 hồi đọc kim chỉ nan thì cũng rất cần được có chút thực hành để rõ hơn các bạn nhỉ?

II. Bước đầu với GraphQL:

2.1 chuẩn chỉnh bị

Với GraphQL chúng ta cũng có thể code bằng nhiều ngôn ngữ khác nhau, như: C# / .NET, Go, Java, PHP, Python, Ruby, Perl, ... Các bạn có thể tham khảo code demo tại đây: https://graphql.org/code/

Trong bài này mình dùng NodeJS 10.15.1 nhằm demo.

Xem thêm: Top 10 App Quay Video Đẹp Bằng Điện Thoại, 10 App Quay Video Đẹp Cho Smartphone

2.2 Khởi chế tạo project

Cách đơn giản dễ dàng nhất nhằm chạy máy chủ API GraphQL là thực hiện module express (một khung áp dụng web thịnh hành cho Node.js). Bạn sẽ cần thiết đặt thêm 2 package express-graphql, graphql.

express: Chạy máy chủ web và thực hiện truy vấn trực tiếp với hàm graphqlexpress-graphql: Gắn sever API GraphQL bên trên endpoint HTTP /graphqlgraphql: Package để sử dụng API GraphQL

Chạy command line:

npm initnpm install express express-graphql graphql --saveHoặc sản xuất file package.json với nội dung:

"name": "graph_ql", "version": "1.0.0", "description": "", "main": "index.js", "scripts": "test": "echo "Error: no demo specified" && exit 1" , "author": "", "license": "ISC", "dependencies": "express": "^4.17.1", "express-graphql": "^0.11.0", "graphql": "^15.3.0"

2.3 chế tạo ra server

Tiếp đến chế tác file server.js để chạy server:

//Import những thư viện bắt buộc dùngvar express = require("express");var graphqlHTTP = require("express-graphql");var buildSchema = require("graphql");// thành lập một Schema, sử dụng ngôn ngữ Schema GraphQLvar schema = buildSchema(` type Query hello: String `);// Root cung cấp công dụng phân giải cho từng endpoint APIvar root = hello: () => return "Hello world!"; ,;//Tạo server với expressvar tiện ích = express();//Khai báo API graphqlapp.use("/graphql", graphqlHTTP( schema: schema, rootValue: root, graphiql: true, //sử dụng nguyên tắc GraphiQL để lấy ra những query GraphQL theo phong cách thủ công));// Khởi chế tạo ra server trên port 4000app.listen(4000);console.log("Running a GraphQL API server at http://localhost:4000/graphql");

2.4 Start server

Sau lúc đã tạo ra file server, mình sẽ khởi chạy server node vừa chế tác với command:

node server.js

*

2.5 Test

Nếu bạn truy vấn trong trình duyệt y web http://localhost:4000/graphql, các bạn sẽ thấy một giao diện được cho phép bạn nhập những truy vấn.

Trên browser:

GraphiQL là một trong những công cụ hoàn hảo nhất để debug và soát sổ server, vày vậy mình khuyên chúng ta nên chạy nó bất cứ bao giờ ứng dụng của bạn ở chế độ develop.

Như vậy, tôi vừa test demo cho các bạn cách chạy máy chủ và áp dụng trên đồ họa GraphiQL để lấy ra các truy vấn. Bước tiếp theo sau là khám phá cách đưa ra các truy vấn GraphQL trường đoản cú client.

Xem thêm: Làm Gì Khi Trẻ Bị Lạnh Run Những Không Sốt Lạnh Run Người? Cách Sử Lý Khi Trẻ Bị Sốt Lạnh Run Người Tại Nhà

GraphQL Clients

Thực hiện chạy thử curl trên command line:

curl -X POST -H "Content-Type: application/json" -d ""query": " hello "" http://localhost:4000/graphqlData response:

"data":"hello":"Hello world!"

III. Tổng kết

Ok, Như vậy dựa vào kiến thức của chính bản thân mình và những tài liệu tham khảo, mình đã trình làng tới các bạn về ngôn ngữ truy vấn GraphQL, nói theo một cách khác đây là một trong những ngôn ngữ của tương lai
theo bản thân với thời điểm hiện tại thì là như vậy!

Mong rằng sau bài viết này các bạn có thể tiếp cận được GraphQL 1 cách nhanh nệm và dễ ợt hơn...