2023-02-09|閱讀時間 ‧ 約 6 分鐘

GraphQL 生態系工具介紹

不論是 GraphQL 與 RESTful API 都需要生態系的支撐,才會好用與完整 這篇會先介紹 GraphQL 的生態系工具

Prisma

Prisma 由以下三個元件組成
提供自動化且多功能的 resolvers 將 PostgreSQL、MySQL、SQL Server、SQLite、MongoDB 和 CockroachDB 的資料表轉換成 CRUD 的 GraphQL Schema 供使用,並可依據需求方便的與資料庫取得資料並且客製化 resolvers 行為
在 Prisma 專案內定義好 schema 後,可以自動產生更改結構的 SQL 語法 方便遷移到正式環境並且保持資料庫結構一至
在 Prisma 專案開發時,可以透過 Prisma Studio 來查詢與修正 Prisma 提供的資料

Apollo

Apollo 由以下兩個元件組成
這是一個 GraphQL Engine,可以透過 Apollo Server 連接 DB、RESTful API 或是其他的 GraphQL 來作為服務的整合介面
可以提供前端訪問 GraphQL API 的所有功能,包含但不限 Queries 、Mutation and Subscriptions
官方推出的版本為 React,亦有 Vue 與 Angular 版本的社群移植
function Feed() { const { loading, error, data } = useQuery(GET_DOGS); if (error) return <Error />; if (loading) return <Fetching />; return <DogList dogs={data.dogs} />; }

Hasura

Instant GraphQL APIs on your data | Built-in Authz & Caching (hasura.io) 是一套高性能且具有 GUI 操作的 GraphQL Engine ,可以直接透過 GUI 建立 Table 並針對不同的身分組與條件設定可視化範圍,產生 GraphQL API 或甚至是 RESTful API,就算在 RESTful API 的專案上也能發揮作用
亦可串接第三方 RESTful API、GraphQL API 或是撰寫 Stored procedure 並生成 Mutation 提供服務

Postman

在 RESTful API 生態系也很知名的 API 管理平台,提供了測試與文件共享的功能,讓團隊內成員可以提供在不同場景下使用的 schema,讓前端成員可以有範例知道要如何獲取資料,後端成員也能依據前端紀錄的 schema 來優化後端服務與資料表設計與索引

結論

GraphQL 與 RESTful API 之所以好用,不會是因為他們本身有多嚴謹或彈性 而是有諸多生態系工具讓開發者能選擇與解決各種問題,專注在解決商業邏輯與創造商業價值

參考

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.