我们可以在任何地方找到 Web 服务和 API(应用程序编程接口),但许多使用起来很痛苦。你是否曾经使用 API 连接 Web 服务并想知道”他们在想什么?“我们遇到过,通过 API 连接服务可能令人困惑。无论是由于糟糕的设计、缺少文档、持续变化还是 bug,使用 API 通常是一场斗争。
但不必如此。我们可以创建人们喜欢使用的出色 Web API,我们也会享受制作它们。那么,设计一个好的 API 的关键是什么?本期文章分享秘密,指导我们创建干净、文档完善、易于使用的 API。
准备好,让我们理解如何设计一个人们喜欢使用的 API。
API 的重要性
API 对公司的关键资产。客户不会随意使用 API - 他们投入时间和金钱进行集成、编码和学习。然而,如此严重依赖 API 带来挑战。停止使用 API 的成本可能很大,显示 API 在运营中发挥的关键作用。
设计良好的公共 API 有很大潜力吸引和保留用户。然而,糟糕的 API 设计会迅速导致问题 - 如来自功能失调 API 的支持电话洪水。这可以将公司最大的数字资产变成头痛。
API 的这种双重性质指出了设计它们时细心和精确的重要性。目标是制作提供利大于弊的 API。
用户中心设计
当我们构建产品时,我们通常考虑没有太多技术专长的普通人。我们创建友好界面,获取他们想要什么的输入。但 API 开发不同 - 我们为熟练程序员制作接口。他们注意到甚至小问题,并可能像我们一样挑剔。
作为 API 设计者的视角与用户有点不同。我们专注于 API 应该做什么或提供什么。同时,用户关心以最少努力轻松获得他们需要的东西。这些不同观点导致问题。关键是转变我们的视角以匹配用户的视角。这似乎显而易见,但很少有 API 采用这种以用户为中心的方法。
好 API 的特征
质量 API 有几个特征有助于其有效性、可用性和长期成功:

设计好 API 的技巧
1. 收集需求
设计质量 API 的第一步是从用户收集需求。用怀疑态度处理这个过程。用户经常建议特定解决方案,而不是关注他们的潜在需求。
我们的工作是让用户带我们走过核心用例,以揭示那些基本需求,即使最初隐藏。在最初建议的”解决方案”之下可能潜伏着更好的设计想法。
此外, envision 非常通用的 API 来解决各种挑战是令人兴奋的。但我们必须首先激光聚焦于用户的实际需求。
通过起草高级功能规范开始设计过程。在这个早期实验阶段,速度和灵活性比综合细节更重要。
广泛分享草稿,与目标用户和其他利益相关者。仔细倾听反馈,因为很可能有关于如何塑造精炼产品的宝贵见解。
关键是不在早期做太多假设。需求收集奠定基础 - 花时间正确做好再继续进行正式 API 设计。
2. 限定范围
设计出色 API 的一个关键规则是每个 API 应 squarely 专注于很好地解决一个主要问题,而不是尝试解决太多不同问题。
创建试图覆盖许多用例的通用”瑞士军刀”API 通常失败。范围太分散,没有与特定用户需求 tied 的清晰、单一目的。试图成为每个人的所有结果导致浅层功能。
相反,限制我们构建的每个 API 的范围。确保目的保持清晰和聚焦。将所有能力直接对齐到履行不同用户需求的目标。任何外围的都应移除。
例如,专注于地址验证的 API 有清晰目的。一个专门专注于信用卡交易的定义不同但仍狭窄的功能。
3. 命名约定和标准化响应
现在我们已经涵盖了什么使 API 好,让我们转向设计它的技巧。
当设计一个好的 API 时,清晰度从我们为端点和资源选择的名称开始。采用并一致应用命名约定允许开发者直观理解 API,像说共同语言。例如,对端点使用 RESTful 约定,如”/users”检索用户信息与行业标准对齐。这帮助开发者理解端点目的,无需过多文档。

本文为学习目的的个人翻译,译文仅供参考。
原文链接:How to Design a Good API?。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。