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语法的用户,也能简单地建置查询。更多相关内容来源:http://www.cafes.org.tw/info.asp
不過,OneGraph提到,雖然GraphiQL Explorer能幫助建置GraphQL查詢,但是有部分選擇性參數需要使用者自行輸入,否則仍會發生語法正確,但語義錯誤的情況,使用者可以將GraphiQL Explorer嵌入至GraphiQL執行個體上,並為這些參數提供預測值,當使用者在建置查詢時,系統便能預設取得這些參數並產生即用的查詢。由於GraphQL具有內觀(Introspectable)的特性,客戶端能透過標準的方式,向伺服器詢問API細節,因此GraphiQL Explorer能提供使用者,查詢、變異與訂閱物件的欄位列表,也能智慧地渲染參數輸入欄位,諸如列舉(Enums),或是探索介面與聯合(Unions)等中介概念。GraphiQL Explorer是以JavaScript編寫而成,並使用靜態類型檢查器Flow,使其盡可能地與GraphiQL搭配使用,現在已於GitHub開源。