前段時間組內搞代碼檢視,經常能看到一些 “掛着 RESTful 羊頭,賣的卻是 GraphQL 狗肉”的 API 設計。
舉個例子,假如後台有兩種資源用户 User 和 羣組 Group ,按照RESTful的規範,他們設計以下API端點:
# 獲取用户列表
GET /users
# 獲取指定用户
GET /user/{id}
# 創建用户
POST /users
# 修改用户
PUT /u
一個 API-First 設計應該具有可複用性、互操作性、可修改性、用户友好性、安全性、高效性、務實性,並且重要的是,與組織目標保持一致。這些基本特徵將確保 API 能夠有效地為 API- First 組織戰略和開發模式做出貢獻,在這種模式中,API 可以最大限度地為業務創造價值。
但如何生成這樣的 API-First 設計呢?
在本文中,我們將探討如何通過以下五個流程集成到 API 設計過程中來
當我們構建 GraphQL API 時,保持對過去和將來的考量都至關重要。這就要求我們的 API 既要兼容以前的實現,也能適應未來的變革。
一、維持與過去的連續性
保證API與歷史版本的兼容性是API設計中的一個重要方面。開發者必須牢記,在升級或擴展功能時,不能忽視那些仍在使用舊版本應用的用户。儘管這可能會增加開發的複雜性和成本,但能夠避免用户升級時出現問題,這樣能大大減少開發週期中返工的時間和代