GraphQL服務供應商OneGraph對外開源其GraphiQL Explorer,該工具提供探索和建構GraphQL查詢的方法,可以作為簡單的React元件,嵌入在任何GraphiQL執行個體中。

GraphQL是一個查詢語言,允許開發者以最適合其系統的方式,宣告並指定所需要的資料。從2016年GraphQL釋出其第一個穩定版本後,GraphQL生態系變穩定茁壯,出現了包括Gatsby、Hasura、AWS AppSync以及OneGraph等服務與開發工具。

OneGraph提到,GraphQL擁有許多優點,但由於這是全新的概念,也讓許多人為之卻步,語法對於剛接觸的使用者來說並不友善,包括巢狀結構、不完整的JSON物件欄位甚至是缺乏上手的文件。

GraphiQL是GraphQL整合開發環境,能讓使用者方便的建構並測試查詢,查看欄位類型,使用者也可以對架構(Schema)搜尋欄位名稱或是類型,甚至是讀取文件內聯。而GraphiQL Explorer則是OneGraph資料瀏覽器的核心元件,提供使用者探索與建構GraphQL查詢的方法。該工具可以幫助不熟悉GraphQL語法的使用者,以圖形介面的瀏覽資料,GraphiQL Explorer會以樹狀展示架構,形式與檔案瀏覽器類似,使用者可以方便地檢視欄位。

使用者只要勾選欄位,GraphiQL Explorer便會顯示出相對應的GraphQL查詢,因此對於不熟悉GraphQL語法的使用者,也能簡單地建置查詢。

不過,OneGraph提到,雖然GraphiQL Explorer能幫助建置GraphQL查詢,但是有部分選擇性參數需要使用者自行輸入,否則仍會發生語法正確,但語義錯誤的情況,使用者可以將GraphiQL Explorer嵌入至GraphiQL執行個體上,並為這些參數提供預測值,當使用者在建置查詢時,系統便能預設取得這些參數並產生即用的查詢。

由於GraphQL具有內觀(Introspectable)的特性,客戶端能透過標準的方式,向伺服器詢問API細節,因此GraphiQL Explorer能提供使用者,查詢、變異與訂閱物件的欄位列表,也能智慧地渲染參數輸入欄位,諸如列舉(Enums),或是探索介面與聯合(Unions)等中介概念。

GraphiQL Explorer是以JavaScript編寫而成,並使用靜態類型檢查器Flow,使其盡可能地與GraphiQL搭配使用,現在已於GitHub開源。


Advertisement

更多 iThome相關內容