GraphQL是一種新的API標準
由Facebook開發和開源,目前由來自世界各地的大公司和個人維護
GraphQL本質上是一種基於api的查詢語言
理解爲GraphQL是基於API之上的一層封裝,目的是爲了更好,更靈活的適用於業務的需求變化。
Facebook在2012年開始在其native mobile apps中使用GraphQL,Facebook第一次公開談論GraphQL是在宣佈開源計劃後不久的2015年React峯會的時候。
在GraphQL的世界裏我們不用多取數據,也不用擔心數據取少了,我們只需要按需獲取即可。
REST最常見的問題之一是API的返回數據過多或者過少,這是因爲客戶端下載數據的唯一方法是通過訪問返回固定數據結構的endpoint,這就會導致我們設計API非常困難,因爲它既要能夠爲客戶提供精確的數據需求,又需要滿足不同調用者的需求,這本身就是相互矛盾的。GraphQL的發明者Lee Byron提出了一個很重要的概念: “用圖形來思考,而不是endpoint”
參考文章: