iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
1

什麼是 REST?

REST 是一個基於 HTTP 協定,定義模糊的 API 架構風格,目的是統一 API 的格式。

什麼是 GraphQL?

GraphQL is the better REST 是一種 Web API 查詢語言,然後 GraphQL 跟 SQL 的關係就像熱狗和狗的關係一樣,不要誤會了。

GraphQL 有什麼特色?

single entry point /graphql

為什麼需要 GraphQL ?

GraphQL 可以實現複雜查詢,解決 RestFul API 只能獲取單一資源的問題。

RestFul API 僅能獲取定義好的單一資源,會延伸出一個問題,就是因前端的需求改變,想要從後端取得更多資源,或減少不取得必要的資源,就會需要使用不同的 API,也就是資源相依的問題。

GraphQL vs RestFul 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

所以我說 GraphQL 和 RestFul API 是什麼關係?

REST 是一種 API 的架構風格,GraphQL 只是一種 API 的查詢工具

什麼時候適合使用 GraphQL? 什麼時候適合使用 RestFul?

我只知道這目前這兩個技術,可以依據不同的場景一起使用,沒有什麼 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


上一篇
CSS Relative Unit: rem vs em
下一篇
??
系列文
那些我還沒深入理解就開始使用的東西30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言