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: 待整理