Chào quý khách. Sau Khi mò mẫm hiểu về GraphQL, bản thân van nài mạo muội share chút kiến thức và kỹ năng về nó cho tới quý khách nằm trong tiếp cận và cơ hội dùng GraphQL thế nào nhé.
I. Giới thiệu về GraphQL
1.1 Tổng quan
GraphQL là ngôn từ thao tác và truy vấn tài liệu mối cung cấp cởi cho tới API, hỗ trợ cho tới client một cách thức đơn giản dễ dàng nhằm request đúng chuẩn những gì chúng ta cần thiết, canh ty việc cải tiến và phát triển API đơn giản dễ dàng rộng lớn theo đòi thời hạn. GraphQL được Facebook cải tiến và phát triển nội cỗ nhập thời điểm năm 2012 trước lúc sản xuất công khai minh bạch nhập năm năm ngoái.
Bạn đang xem: graphql la gi
GraphQL bao hàm 3 điểm đặc thù bao gồm:
- Cho quy tắc client xác lập đúng chuẩn những tài liệu gì chúng ta cần
- GraphQL thực hiện cho tới việc tổ hợp tài liệu từ rất nhiều mối cung cấp đơn giản dễ dàng hơn
- Sử dụng một type system nhằm khai báo tài liệu.
1.2 Trả về đúng chuẩn những gì chúng ta gửi request
- Khi chúng ta gửi 1 request GraphQL cho tới API của người tiêu dùng, các bạn sẽ sẽ có được đúng chuẩn những gì chúng ta đòi hỏi nhập request, ko rộng lớn ko thông thường.
- Các truy vấn GraphQL luôn luôn trả về thành quả hoàn toàn có thể Dự kiến được.
- Các phần mềm dùng GraphQL đặc biệt nhanh chóng và ổn định toan vì như thế GraphQL trấn áp tài liệu tuy nhiên nó sẽ có được chứ không hề nên sever.
1.3 Nhận nhiều tài liệu nhập một request duy nhất
- Các câu query GraphQL không chỉ có hoàn toàn có thể truy xuất những tính chất của một tài liệu mà còn phải thao tác làm việc nhẵn tru với những đối tượng người tiêu dùng không giống.
- Trong Khi những API REST tất cả chúng ta hoặc sử dụng nên đòi hỏi request từ rất nhiều URL thì API GraphQL lại hoàn toàn có thể lấy toàn bộ tài liệu tuy nhiên phần mềm của người tiêu dùng cần thiết nhập một request có một không hai.
- Các phần mềm dùng GraphQL với vận tốc xử lý đặc biệt nhanh chóng trong cả bên trên những liên kết lờ đờ.
1.4 Mô miêu tả những gì hoàn toàn có thể với cùng 1 type system
- API GraphQL được tổ chức triển khai theo đòi types và fields, truy vấn toàn cỗ tài liệu của người tiêu dùng từ là 1 endpoint có một không hai.
- GraphQL dùng những types nhằm đáp ứng phần mềm của người tiêu dùng chỉ request những gì hoàn toàn có thể, ngoại giả GraphQL còn phân tích và lý giải những lỗi một cách rất dễ nắm bắt.
- Ứng dụng của bạn cũng có thể dùng những types nhằm tách ghi chép code phân tách cú pháp tay chân.
OK, vì vậy sau 1 hồi hiểu lý thuyết thì cũng rất cần phải với chút thực hành thực tế nhằm rõ rệt rộng lớn chúng ta nhỉ?
II. Bắt đầu với GraphQL:
2.1 Chuẩn bị
Với GraphQL bạn cũng có thể code vì như thế nhiều ngôn từ không giống nhau, như: C# / .NET, Go, Java, PHP, Python, Ruby, Perl, ... Các bạn cũng có thể tìm hiểu thêm code phác thảo bên trên đây: https://graphql.org/code/
Trong bài bác này bản thân sử dụng NodeJS 10.15.1 nhằm phác thảo.
2.2 Khởi tạo nên project
Cách giản dị và đơn giản nhất nhằm chạy sever API GraphQL là dùng module express
(một sườn phần mềm trang web thông dụng cho tới Node.js). Quý khách hàng tiếp tục cần thiết setup tăng 2 package express-graphql
, graphql.
express
: Chạy sever trang web và triển khai truy vấn thẳng với hàmgraphql
express-graphql
: Gắn sever API GraphQL bên trênendpoint
HTTP/graphql
graphql
: Package nhằm dùng API GraphQL
Chạy command line:
npm init
npm install express express-graphql graphql --save
Hoặc tạo nên tệp tin package.json với nội dung:
{
"name": "graph_ql",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"express-graphql": "^0.11.0",
"graphql": "^15.3.0"
}
}
2.3 Tạo server
Tiếp cho tới tạo nên tệp tin server.js
nhằm chạy server:
//Import những tủ sách cần thiết dùng
var express = require('express');
var { graphqlHTTP } = require('express-graphql');
var { buildSchema } = require('graphql');
// Xây dựng một Schema, dùng ngôn từ Schema GraphQL
var schema = buildSchema(`
type Query {
hello: String
}
`);
// Root hỗ trợ công dụng phân giải cho từng endpoint API
var root = {
hello: () => {
return 'Hello world!';
},
};
//Tạo server với express
var phầm mềm = express();
//Khai báo API graphql
app.use('/graphql', graphqlHTTP({
schema: schema,
rootValue: root,
graphiql: true, //sử dụng khí cụ GraphiQL để lấy đi ra những query GraphQL Theo phong cách thủ công
}));
// Khởi tạo nên server bên trên port 4000
app.listen(4000);
console.log('Running a GraphQL API server at http://localhost:4000/graphql');
2.4 Start server
Sau Khi vẫn tạo nên tệp tin server, bản thân tiếp tục khởi chạy server node vừa vặn tạo nên với command:
node server.js
Xem thêm: sàn giao dịch bitcoin lớn nhất thế giới
2.5 Test
Nếu chúng ta truy vấn nhập trình duyệt trang web http://localhost:4000/graphql, các bạn sẽ thấy một hình mẫu được chấp nhận chúng ta nhập những truy vấn.
Trên browser:
Test bên trên Postman:
GraphiQL
là một trong khí cụ ấn tượng nhằm debug và đánh giá server, chính vì vậy bản thân răn dạy chúng ta nên chạy nó bất kể lúc nào phần mềm của người tiêu dùng ở chính sách develop.
Như vậy, tôi vừa test demo cho tới chúng ta cơ hội chạy sever và dùng bên trên hình mẫu GraphiQL để lấy đi ra những truy vấn. Cách tiếp sau là mò mẫm hiểu cơ hội thể hiện những truy vấn GraphQL kể từ client.
GraphQL Clients
Thực hiện tại test curl bên trên command line:
curl -X POST \
-H "Content-Type: application/json" \
-d '{"query": "{ hello }"}' \
http://localhost:4000/graphql
Data response:
{"data":{"hello":"Hello world!"}}
Xem thêm: game hoa giang ho chi bat luong nhan
III. Tổng kết
Ok, Như vậy dựa vào kiến thức và kỹ năng của tớ và những tư liệu tìm hiểu thêm, tôi đã reviews cho tới chúng ta về ngôn từ truy vấn GraphQL, nói cách khác đó là 1 ngôn từ của sau này theo đòi bản thân với thời gian lúc này thìa là như vậy!
Mong rằng sau nội dung bài viết này những bạn cũng có thể tiếp cận được GraphQL một cách nhanh gọn lẹ và đơn giản dễ dàng rộng lớn...
Cảm ơn chúng ta vẫn hiểu nội dung bài viết của mình!
Thao khảo
- https://graphql.org/
- https://topdev.vn/blog/graphql/
- https://www.bravebits.co/bat-dau-voi-graphql-api/
Bình luận