Everything I know about good API design
Tue 23 September 2025
Everything I know about good API design | Sean Goedecke
一些关于 API 设计的建议。
API 难以构建,因为它们缺乏灵活性,但又必须易于采用
API 维护者的首要职责是 不要破坏用户空间。永远不要对公共 API 进行破坏性更改。
对 API 进行版本控制可以让你进行更改,但会带来显著的实现和采用障碍。
如果你的产品足够有价值,那么你的 API 设计得好不好其实并不重要,人们无论如何都会使用它。
如果你的产品设计得足够糟糕,那么无论你多么精心设计你的 API,它都可能很烂。
你的 API 应该支持简单的 API 密钥进行身份验证,因为你的许多用户不会是专业的工程师。
执行操作(特别是支付等高风险操作)的请求应包含某种幂等性密钥,以确保重试安全。
你的 API 将永远是事故的源头。确保你设置了速率限制和熔断机制。
对可能非常大的数据集使用基于游标的分页。
将开销大的字段设为可选且默认关闭,但我认为 GraphQL 有点大材小用。
内部 API 在某些方面有所不同(因为你的消费者群体非常不同)。
Category: 待整理