繁體中文(台灣)
只有POST?讓我們結束這場荒謬的 API 設計爭論
破解「只有POST」API的迷思,解釋為什麼這源於對API設計原則的誤解,並闡明RESTful和RPC架構風格的適當用途。
最近,有關是否使用「只有POST」設計API的討論引起了我的注意。在深入研究這場爭論後,我發現人們爭論的問題不僅毫無意義,還暴露了許多開發人員對API設計本質的誤解。今天,讓我們深入探討API設計的核心思想,看看為什麼這場爭論根本不應該存在。
「只有POST」的誤解
那些倡導使用「只有POST」來取代RESTful API規範的開發者顯然沒有掌握API設計中最重要的一點。他們的論點通常包括:
- 簡化設計:一種方法可以處理所有事情
- 安全性:POST參數不出現在URL中
- 靈活性:POST可以發送任何數據結構
乍看之下,這些論點似乎有一些道理。但事實上,這種看法是將HTTP方法的選擇與API設計風格混淆了,這是兩個不同層次的問題。POST只是HTTP協議的一種方法,而REST是一種API設計風格。
API 設計的本質
在討論具體的API風格之前,我們需要了解API設計的核心目的。好的API應該是:
- 清晰且可理解:其他開發者(包括你未來的自己)應該能夠直觀地理解每個端點的目的
- 一致性:遵循某些規範以減少學習成本
- 可擴展性:能夠輕鬆進行版本控制和功能擴展
- 高效性:考慮性能和資源利用方面的效率