REST 是一個基於 HTTP 協定,定義模糊的 API 架構風格,目的是統一 API 的格式。
GraphQL is the better REST 是一種 Web API 查詢語言,然後 GraphQL 跟 SQL 的關係就像熱狗和狗的關係一樣,不要誤會了。
single entry point /graphql
GraphQL 可以實現複雜查詢,解決 RestFul API 只能獲取單一資源的問題。
RestFul API 僅能獲取定義好的單一資源,會延伸出一個問題,就是因前端的需求改變,想要從後端取得更多資源,或減少不取得必要的資源,就會需要使用不同的 API,也就是資源相依的問題。
\ | GraphQL | RestFul API
---|---|---
目的 | 複雜查詢 | 取得資源
entry point | single | multilple
HTTP method | only post | get, post...
HTTP Status Code | only 200 | 2xx - 5xx
Driven | Client Driven | Server Driven
REST 是一種 API 的架構風格,GraphQL 只是一種 API 的查詢工具
我只知道這目前這兩個技術,可以依據不同的場景一起使用,沒有什麼 GraphQL 取代 RestFul API 之說。
API 接口设计: GraphQL 和 REST 怎么选择?
5 reasons you shouldn’t be using GraphQL
GraphQL vs REST in 2020: A Detailed Comparison
GraphQL vs REST
GraphQL vs REST
GraphQL is the better REST
REST vs GraphQL APIs, the Good, the Bad, the Ugly
GraphQL for beginners