GraphQL用于 API 的查詢語言
GraphQL 既是一種用于 API 的查詢語言也是一個(gè)滿足你數(shù)據(jù)查詢的運(yùn)行時(shí)。 GraphQL 對你的 API 中的數(shù)據(jù)提供了一套易于理解的完整描述,使得客戶端能夠準(zhǔn)確地獲得它需要的數(shù)據(jù),而且沒有任何冗余,也讓 API 更容易地隨著時(shí)間推移而演進(jìn),還能用于構(gòu)建強(qiáng)大的開發(fā)者工具。
向你的 API 發(fā)出一個(gè) GraphQL 請求就能準(zhǔn)確獲得你想要的數(shù)據(jù),不多不少。 GraphQL 查詢總是返回可預(yù)測的結(jié)果。使用 GraphQL 的應(yīng)用可以工作得又快又穩(wěn),因?yàn)榭刂茢?shù)據(jù)的是應(yīng)用,而不是服務(wù)器。
GraphQL 查詢不僅能夠獲得資源的屬性,還能沿著資源間引用進(jìn)一步查詢。典型的 REST API 請求多個(gè)資源時(shí)得載入多個(gè) URL,而 GraphQL 可以通過一次請求就獲取你應(yīng)用所需的所有數(shù)據(jù)。這樣一來,即使是比較慢的移動網(wǎng)絡(luò)連接下,使用 GraphQL 的應(yīng)用也能表現(xiàn)得足夠迅速。
GraphQL API 基于類型和字段的方式進(jìn)行組織,而非入口端點(diǎn)。你可以通過一個(gè)單一入口端點(diǎn)得到你所有的數(shù)據(jù)能力。GraphQL 使用類型來保證應(yīng)用只請求可能的數(shù)據(jù),還提供了清晰的輔助性錯(cuò)誤信息。應(yīng)用可以使用類型,而避免編寫手動解析代碼。
GraphQL 中文站點(diǎn):http://graphql.cn/
