GraphQL 查詢字符串的組裝

GraphQL 查詢字符串的組裝

GraphQL 既是一種用於 API 的查詢語言也是一個滿足你數據查詢的運行時。 GraphQL 對你的 API 中的數據提供了一套易於理解的完整描述,使得客戶端能夠準確地獲得它需要的數據,而且沒有任何冗餘,也讓 API 更容易地隨着時間推移而演進,還能用於構建強大的開發者工具。

我們今天來講解一下如何進行 graphql 查詢字符串的組裝,在 Javascript 中,graphql 查詢字符串的格式如下

`{ list { id name description } }`

當查詢類型比較少時,我們還是可以通過手寫來維持,但是一旦查詢的複雜度開始上升時,手寫字符串查詢會導致以下幾個問題:

  • 難以維護;
  • 難以排查問題;
  • 沒有結構化,容易出錯;

npm 提供了這麼一個小工具,叫做 shadows-graphql-query,我們通過 npm install 進行安裝,然後我們按照下面的方法使用

const gql_query = require('shadows-graphql-query');
const query = gql_query({
  categoryList: ['_id', 'level', 'title', 'description', 'post'],
  product: ['_id', 'level', 'title', 'description', 'post']
});

console.log(query); 
/**
  * 最後解析出來的查詢字符串是這樣的
  { categoryList { _id level title description post }  product { _id level title description post } }
*/

該插件還支持嵌套和批量解析,可以充分滿足結構化查詢的需求。

喜歡的話給一顆 star 吧(GraphQL 查詢字符串組裝 屬於原創)。

Star 超過 10 顆的話,作者將會提供一套完整的 GraphQL 前後端架構方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章