GraphQL 有其自己的語言來編寫 GraphQL 模式:GraphQL 模式定義語言 (SDL)。SDL 簡單直觀易用,同時功能強大且富有表現力。

什麼是 GraphQL 模式定義?
GraphQL 模式定義是指定 GraphQL 模式 最簡潔的方式。其語法定義清晰,並且 是官方 GraphQL 規範的一部分。模式定義有時被稱為 IDL(介面定義語言)或 SDL(模式定義語言)。
部落格應用的 GraphQL 模式可以這樣定義
模式定義的主要組成部分是 型別 及其 欄位。附加資訊可以作為自定義 指令 提供,例如為 likes 欄位指定的 @default 值。
型別
型別有名稱,並且可以實現一個或多個 介面
欄位
欄位有名稱和型別
GraphQL 規範定義了一些 內建 標量值,但具體實現可以定義更多。內建標量型別包括
- Int
- Float
- String
- Boolean
- ID
除了標量型別,欄位還可以使用模式定義中定義的任何其他型別。
非空欄位用感嘆號表示
列表用方括號表示
列舉
一個 enum 是具有一組指定可能值的標量值
介面
在 GraphQL 中,interface 是欄位列表。GraphQL 型別必須具有其實現的所有介面的相同欄位,並且所有介面欄位必須是相同的型別。
模式指令
指令允許你將任意資訊附加到任何其他模式定義元素。指令總是放在它們所描述的元素後面
指令沒有內在含義。每個 GraphQL 實現都可以定義自己的自定義指令,以新增新功能。
GraphQL 規定了內建的 skip 和 include 指令,可用於在查詢中包含或排除特定欄位,但這些在模式語言中不使用。
不要錯過下一篇文章!
訂閱 Prisma 新聞通訊