2024-05-30
為什麼我在六年後離開 GraphQL
- 作者分享了 GraphQL 六年的經驗,最初指出了它相對於非類型化 JSON REST API 的優勢,但最終指出了明顯的缺點。
- GraphQL 的關鍵問題包括增加的攻擊面、複雜的授權、速率限制挑戰、查詢解析漏洞以及 N+1 問題等性能問題。
- 作者建議考慮使用符合 OpenAPI 的 JSON REST API 和 FastAPI、tsoa 和 TypeSpec 等現代工具等替代方案,以實現更高效、更安全的 API 開發。
反應
- 在使用 GraphQL 六年後,作者發現它過於複雜,尤其是在許可權、性能和調試方面,這表明傳統的 REST 端點可能更有效率。
- 討論強調了將 GraphQL 與後端系統整合的挑戰,強調了對詳細知識和文檔的需求,並提出了伺服器端查詢構建器和模式優先設計等解決方案。
- 這場辯論將 GraphQL 的靈活性和高效的嵌套查詢與 REST 的簡單性和可靠性進行了對比,並指出它們之間的選擇應該基於專案的特定需求和成熟度。