เริ่มต้นใช้งานSchema introspection คืออะไร
Schema introspection คืออะไร
Schema introspection คือกลไกของ GraphQL ในการให้ข้อมูลเกี่ยวกับ schema ซึ่งดึงข้อมูลโดยใช้ภาษา GraphQL เดียวกัน ด้วย introspection นี้เองที่ทำให้ไคลเอนต์อย่าง GraphiQL และ GraphQL Voyager สามารถช่วยให้เราโต้ตอบกับ GraphQL schema ได้
ไคลเอนต์เหล่านี้จะรัน introspection query เดิมเสมอเพื่อดึงข้อมูลทั้งหมดของ schema:
query IntrospectionQuery {
__schema {
queryType {
name
}
mutationType {
name
}
subscriptionType {
name
}
types {
...FullType
}
directives {
name
description
locations
args {
...InputValue
}
}
}
}
fragment FullType on __Type {
kind
name
description
fields(includeDeprecated: true) {
name
description
args {
...InputValue
}
type {
...TypeRef
}
isDeprecated
deprecationReason
}
inputFields {
...InputValue
}
interfaces {
...TypeRef
}
enumValues(includeDeprecated: true) {
name
description
isDeprecated
deprecationReason
}
possibleTypes {
...TypeRef
}
}
fragment InputValue on __InputValue {
name
description
type {
...TypeRef
}
defaultValue
}
fragment TypeRef on __Type {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
ofType {
kind
name
}
}
}
}
}
}
}
}