Graphql Là Gì

Chào hồ hết tín đồ.Sau Lúc mày mò về Graphquốc lộ, mình xin mạo muội share chút ít kiến thức và kỹ năng về nó đến hầu hết fan thuộc tiếp cận và giải pháp áp dụng Graphquốc lộ thế nào nhé.

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

I. Giới thiệu về GraphQL

1.1 Tổng quan

GraphQL là ngôn từ thao tác với truy vấn vấn tài liệu nguồn mlàm việc đến API, hỗ trợ cho client một cách thức dễ dãi để request đúng chuẩn mọi gì bọn họ đề xuất, giúp vấn đề phát triển API thuận lợi hơn theo thời gian. GraphQL được Facebook trở nên tân tiến nội cỗ vào khoảng thời gian 2012 trước lúc thành lập công khai minh bạch vào năm năm ngoái.

GraphQL bao gồm 3 điểm đặc trưng bao gồm:

Cho phép client xác minh đúng mực phần đông tài liệu gì chúng ta cầnGraphquốc lộ làm cho vấn đề tổng hòa hợp dữ liệu từ rất nhiều nguồn dễ ợt hơnSử dụng một type system nhằm khai báo tài liệu.

*

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

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

*

1.3 Nhận những tài liệu vào một request duy nhất

Các câu query GraphQL không chỉ là có thể truy hỏi xuất những ở trong tính của một dữ liệu cơ mà còn làm bài toán trơn tru tru với các đối tượng người dùng không giống.Trong khi những API REST bọn họ tốt dùng nên đề xuất request từ nhiều URL thì API Graphquốc lộ lại rất có thể lấy toàn bộ dữ liệu mà lại áp dụng của công ty phải trong một request tuyệt nhất.Các áp dụng sử dụng GraphQL có vận tốc xử lý vô cùng nhanh trong cả bên trên những liên kết đủng đỉnh.
*

1.4 Mô tả số đông gì rất có thể với 1 type system

API Graphquốc lộ được tổ chức theo types với fields, truy cập toàn thể tài liệu của chúng ta từ 1 endpoint độc nhất.Graphquốc lộ áp dụng các types để đảm bảo áp dụng của khách hàng chỉ request rất nhiều gì có thể, Nhiều hơn GraphQL còn lý giải các lỗi một cách dễ dàng nắm bắt.Ứng dụng của bạn cũng có thể sử dụng những types nhằm tách viết code đối chiếu cú pháp thủ công.

Xem thêm: Cpe Là Gì ? Cách Đo Lường Cpe Hiệu Quả Tìm Hiểu Cpc Cpm Cpe Cpa Cpl Cps Cpo Cpi Là Gì

*

OK, như vậy sau 1 hồi đọc triết lý thì cũng rất cần phải bao gồm chút thực hành để rõ hơn các bạn nhỉ?

II. Bắt đầu với GraphQL:

2.1 Chuẩn bị

Với Graphquốc lộ bạn có thể code bởi các ngôn từ khác biệt, như: C# / .NET, Go, Java, PHPhường, Pythanh mảnh, Ruby, Perl, ... Các bạn cũng có thể tìm hiểu thêm code thử nghiệm trên đây: https://graphql.org/code/

Trong bài này bản thân cần sử dụng NodeJS 10.15.1 nhằm chạy thử.

2.2 Khởi chế tác project

Cách đơn giản và dễ dàng độc nhất vô nhị để chạy máy chủ API Graphquốc lộ là sử dụng module express (một khung áp dụng website phổ cập đến Node.js). quý khách hàng vẫn yêu cầu cài đặt thêm 2 package express-graphql, graphql.

express: Chạy sever web và triển khai truy vấn vấn thẳng với hàm graphqlexpress-graphql: Gắn máy chủ API GraphQL bên trên endpoint HTTPhường /graphqlgraphql: Package nhằm sử dụng API GraphQL

Chạy comm& line:

npm initnpm install express express-graphql graphql --saveHoặc tạo nên file package.json với nội dung:

"name": "graph_ql", "version": "1.0.0", "description": "", "main": "index.js", "scripts": "test": "emang đến "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 mang đến sinh sản file hệ thống.js nhằm chạy server:

//Import các tlỗi viện bắt buộc dùngvar express = require("express");var graphqlHTTPhường. = require("express-graphql");var buildSchema = require("graphql");// Xây dựng một Schema, sử dụng ngôn từ Schema GraphQLvar schema = buildSchema(` type Query hello: String `);// Root hỗ trợ công dụng phân giải cho mỗi endpoint APIvar root = hello: () => return "Hello world!"; ,;//Tạo server với expressvar app = express();//Knhì báo API graphqlphầm mềm.use("/graphql", graphqlHTTP( schema: schema, rootValue: root, graphiql: true, //thực hiện cơ chế GraphiQL để mang ra những query Graphquốc lộ theo cách thủ công));// Khởi tạo server trên port 4000ứng dụng.listen(4000);console.log("Running a Graphquốc lộ API server at http://localhost:4000/graphql");

2.4 Start server

Sau lúc vẫn tạo được tệp tin hệ thống, mình vẫn khởi chạy hệ thống node vừa chế tạo với command:

node server.js

*

2.5 Test

Nếu chúng ta truy cập vào trình trông nom website http://localhost:4000/graphql, các bạn sẽ thấy một đồ họa chất nhận được bạn nhập những truy vấn vấn.

Trên browser:

*

Test trên Postman:

*

Graphiquốc lộ là 1 dụng cụ tuyệt đối hoàn hảo để debug với khám nghiệm server, do vậy mình khuyên ổn chúng ta nên chạy nó bất cứ lúc nào ứng dụng của người sử dụng sống chế độ develop.

bởi vậy, tôi vừa kiểm tra thử đến chúng ta giải pháp chạy máy chủ cùng áp dụng bên trên bối cảnh GraphiQL để lấy ra các truy hỏi vấn. Bước tiếp sau là khám phá biện pháp đưa ra các truy tìm vấn GraphQL tự client.

Graphquốc lộ Clients

Thực hiện tại chạy thử curl bên trên commvà 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, vì vậy dựa vào kiến thức của mình với các tài liệu tham khảo, mình đã ra mắt cho tới chúng ta về ngữ điệu truy hỏi vấn Graphquốc lộ, nói theo một cách khác đây là 1 ngôn từ của tương lai

*
theo bản thân cùng với lúc này chính vậy nhỏng vậy!

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