简体中文
只用 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 应该是:
- 清晰易懂:其他开发者(包括未来的你自己)应该能够直观地理解每个端点的用途
- 一致性:遵循某种规范以降低学习成本
- 可扩展性:能够轻松进行版本控制和功能扩展
- 高效性:考虑性能和资源利用的效率