Core Concepts
The Schema Definition Language (SDL)
GraphQL có hệ thống riêng của mình nó được dùng để định nghĩa các schema trong API, cú pháp để viết schema được gọi là Schema Definition Language (SDL)
Ví dụ này sẽ giúp chúng ta cách sử dụng SDL để định nghĩa type Person
type Person {
name: String!
age: Int!
}
trong type Person có 2 trường name
và age
được define kiểu dữ liệu tương ứng string
và Int
cú pháp !
biểu diễn trường này là bắt buộc
các type
có thể được relationship với nhau bằng cách
type Post {
title: String!
author: Person!
}
ngược lại thì Person
sẽ được xây dựng như sau
type Person {
name: String!
age: Int!
posts: [Post!]!
}
Note
chúng ta chỉ tạo one to many relationship giữa Person
và Post
Fetching Data with Queries
Trong GraphQL muốn lấy dữ liệu ta chỉ cần gửi query tới GraphQL server và nó sẽ trả về cho ta dữ liệu cần
Query
{
allPersons {
name
}
}
allPersons
field được gọi là field gốc của truy vấn
Kết quả
{
"data": {
"allPersons": [
{
"name": "Johnny"
},
{
"name": "Sarah"
},
{
"name": "Alice"
}
]
}
}
Bây giờ ta muốn lấy thêm thông tin về tuổi
{
allPersons {
name
age
}
}
Kết quả
{
"data": {
"allPersons": [
{
"name": "Johnny",
"age": 23
},
{
"name": "Sarah",
"age": 20
},
{
"name": "Alice",
"age": 20
}
]
}
}
Last updated
Was this helpful?