site logo

Marico's space

API(应用编程接口)

Others 2026-05-09 12:05:35 6

最近在给团队做技术培训,顺手整理了一份关于 API(应用程序接口)的基础概念。有些东西看似简单,但真要讲清楚来龙去脉,还是得系统梳理一遍。

什么是 API

API 就是软件应用向其他应用提供的那层接口。说白了,就是"怎么跟我的程序说话"的规则。

API 是互联网商业平台上实现互操作性的基础构建块。没有 API,你的支付宝没法对接各种商家服务,微信也没法开放能力给第三方开发者。

API 让身份创建和维护成为可能——不管是企业邮箱账号,还是协同设计软件里的权限管理,都靠它。

  • 把天气预报数据共享给各类应用
  • 处理你的微信支付/支付宝订单,让商家安心收钱,不用操心合规问题

API 如何简化第三方软件的使用

举个例子,你想在代码里发一条微信消息。作为开发者,你完全不需要懂腾讯的服务器怎么运作,也不需要搞清楚端到端加密的数学原理——你只需要调用消息服务的 API,按照规范把数据发过去就行。

这样做有两个明显好处:

  • 专注产品:企业可以快速集成现成方案(地图、支付、邮件推送),避免重复造轮子,把精力放在核心业务上。
  • 语言无关:一个设计良好的 API 不在乎你的应用是用 Python、Java、PHP 还是 Node.js 写的。只要消息格式符合标准,通信就能正常进行。

API 的主要类型

不是所有 API 都长得一样,用途也不同。开发者得清楚自己要做的事情需要哪种类型的 API。

移动端 API

  • 移动设备和平板的数量早就超过电脑了。手机应用和传统桌面应用不一样——大多数移动端 App 既不自治也不自给自足。

它们需要联网才能用,或者至少需要联网才能发挥全部能力。

  • API 返回的数据要轻量、要做分页。这样即便是性能有限的设备、带宽不宽裕的网络,也能流畅使用。

云服务 API

  • 云端 SaaS(软件即服务)方案通常由 Web 应用加 API 组成。Web 应用是用户直接看到的界面。
  • 在底层,云服务通常也提供 API,只是不直接暴露给用户。这个 API 可以用来对接其他云服务实现自动化,也可以连接移动端和桌面客户端。
  • 阿里云 OSS(对象存储)就是这类方案的例子。它提供 API 让第三方应用接入存储能力,包括移动端和桌面端的同步工具。

集成类 API

  • API 提供了连接、扩展和整合软件的关键能力。通过集成,API 把企业和企业对接起来,这是 B2B(企业对企业)集成方案的核心。
  • 企业可以向上下游合作伙伴延伸业务,扩展自己的商业版图。
  • 既然业务靠 IT 系统运行,那把整条价值链上的 IT 系统打通——从内部到合作伙伴、员工,当然还有客户——就能让业务协同更紧密。

全渠道 API

  • 现代系统要让用户在任何地方都能买:手机、Web、平板,随心所欲。
  • 要保证体验一致,同一套用户数据和操作在所有设备上都要同步可用,哪怕硬件不同、系统不同、App 不同。
  • 全渠道解决方案解决的就是这个问题。不管用户从哪个入口进来,体验都是连贯的,而且能无缝切换设备。

物联网 API

  • IoT(物联网)就是一堆物理设备接上了互联网。
  • 这些设备通过软件控制——要么是执行器发出指令,要么是传感器采集数据。
  • 设备本身不一定多"智能",但通过网络和 API,它可以表现得像一个智能设备。

架构师的 API 工作清单

  • 如何识别、筛选和设计 API?
  • 如何实现和测试 API?
  • 如何撰写文档和沟通 API 方案?
  • 如何定义 API 技术选型?
  • 如何管理 API?
  • 如何让 API 被发现和复用?

构建 API 的流程

  1. 调研需求:先搞清楚大多数使用者希望怎么用这个新 API。
  2. 设计 API:让它和公司现有的 API 体系保持一致,形成组合效应。
  3. 选架构风格:是走 REST、RPC、SOAP 还是 WebSocket,得看场景。
  4. 出原型:用 RAML 或 OpenAPI(就是以前的 Swagger)这类 API 描述语言先把骨架画出来。
  5. 模拟调用:先跑通流程,验证设计是否合理。
  6. 选平台:找个提供可复用组件的 API 管理平台。
  7. 逐模块实现和测试:一点点来,保证质量。
  8. 部署上线:推到生产环境并做好监控治理。
  9. 推广运营:让更多人发现和使用你做的 API。

API 生命周期与平台化管理

原文链接:https://dev.to/...