REST-GraphQL
| REST | GraphQL | |
|---|---|---|
| 這是什麼? | REST 是用於定義用戶端與伺服器之間的結構化資料交換的規則集。 | GraphQL 是一種查詢語言、架構樣式和用於建立和操作 API 的工具集。 |
| 最適合 | REST 適用於明確定義資源的簡單資料來源。 | GraphQL 適用於大型、複雜且相互關聯的資料來源。 |
| 資料存取 | REST 具有 URL 形式的多個端點來定義資源。 | GraphQL 具有個單一的 URL 端點。 |
| 傳回的資料 | REST 以伺服器定義的固定結構傳回資料。 | GraphQL 以用戶端定義的彈性結構傳回資料。 |
| 資料結構化和定義的方式 | REST 資料為弱式類型 。因此,用戶端必須在傳回資料時,決定如何解譯格式化的資料。 | GraphQL 資料為強式類型。因此,用戶端以預先決定且相互了解的格式接收資料。 |
| 錯誤檢查 | 使用 REST 時,用戶端必須檢查傳回的資料是否有效。 | 使用 GraphQL 時,結構描述結構通常會拒絕無效的請求。這會導致自動產生錯誤訊息。 |