2016-12-14 62 views
8

是否有人嘗試開發的代替的RESTful API一個GraphQL?有人能給現實生活(不僅是理論上的)利弊嗎?基本上從我的研究中我發現,力量就是要得到你所需要的東西,而不是更多。與REST APIs,你經常需要做出一系列的請求,你可以很容易地得到比你真正需要更多的信息。GraphQL或REST

是否值得花費在研究和學習GraphQL的時間?任何引起您注意的錯誤或難題?

+1

參見http://stackoverflow.com/q/40671105/4715679 – BlueM

回答

12

這個問題主要是基於觀點的。

但是從我的經驗來看: 對於RESTful-API的多個請求只是一件事,通常表明缺少API設計,即所需的資源不可用,因此需要從不同的資源中收集資源以彌補這個。

可以很容易地被GraphQL替換的REST-API表明該API實際上是一個CRUD-HTTP-API,在REST-Evangelists中被認爲是反模式。

另外值得注意的是,GraphQL將責任放在客戶端上,因爲支持API被簡化爲只需要查詢的數據存儲。另一方面REST強化了客戶的行爲,因此減少了客戶的責任。客戶端被簡化爲類似於瀏覽器的東西。

有些情況下,這種或那種方法會產生更好的結果,但這很大程度上取決於您的情況。