2017年5月1日

GraphQL SDL — 模式定義語言

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

GraphQL 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 新聞通訊

© . This site is unofficial and not affiliated with Prisma Data, Inc.