Skip to content

第 1.1 章:什么是 API 及其作用?

学习时间: 30 分钟


1. 引言:API 如同“太空对接节点”

想象一下,你是一名宇宙飞船的指挥官。要将你的飞船连接到国际空间站(ISS),你需要一个标准对接节点。没有它,即使飞船和空间站完美匹配,也无法进行对接。

API(应用程序编程接口)——对于程序而言,它就是这样一个“对接节点”。 - 它是一套规则,允许不同的应用程序交换数据协同工作。 - 示例:当移动应用程序显示天气预报时,它会使用气象服务的 API。

💡 来自太空的类比: API 就像地球与火星探测器之间的通信协议。探测器接收它能理解的指令格式(例如,“拍摄陨石坑照片”),执行任务并将数据传回。


2. 为什么需要 API?

  1. 简化开发 无需从头开始创建所有内容,你可以使用现成的 API,例如 SpaceX API

    # 示例:获取 SpaceX 发射数据
    import requests
    response = requests.get("https://api.spacexdata.com/v3/missions")
    print(response.json()[0])  # 输出数据
    

  2. 自动化流程 API 允许机器人探测器自动将数据传输到地球,无需人工干预。

  3. 系统集成 就像国际空间站模块的对接:API 将你的应用程序与支付系统、数据库甚至望远镜连接起来!

  4. 获取独有数据 例如,SpaceX API 提供关于火箭发射的真实数据。


3. API 如何工作?

  • 客户端(你的程序)向服务器发送 HTTP 请求
  • 服务器(例如 NASA)处理请求并返回 JSON 格式的响应
  • 数据——是“太空宝藏”:国际空间站的坐标、星系照片、系外行星列表。

⚡ “Open Notify”API 请求示例(国际空间站):

curl "http://api.open-notify.org/iss-now.json"
响应:
{
  "message": "success",
  "timestamp": 1725431234,
  "iss_position": {
    "latitude": "51.1234",
    "longitude": "-120.5678"
  }
}


4. API 类型(简要概述)

类型 太空示例 用途
REST 标准通信“任务控制中心 ↔ 卫星” Web 服务(90% 的情况)
GraphQL “自定义请求”(例如,“只给我行星的大小和质量”) 复杂系统
SOAP 如同旧任务中的无线电加密 企业应用程序

在本教程中,我们将专注于 REST API——最流行的格式。


5. 宇宙空间 API 示例

  1. NASA Open API:关于小行星的数据,哈勃望远镜的照片。
  2. SpaceX API:关于发射、火箭、龙飞船的信息。
  3. Open Notify:国际空间站当前位置,太空中的人数。

互动小测验

1. API 是...

2. 为什么要使用 API 而不是自己编写代码?

3. API 最常返回哪种数据格式?


🚀 本章总结:

API 是处理外部数据的基础。就像宇航员离不开与任务控制中心的联系一样,开发者也离不开 API 来构建复杂的应用程序。在下一章中,我们将学习如何使用 HTTP 方法向服务器发送“命令”!

📌 提示: 尝试向 Open Notify API 发送请求,看看国际空间站现在在哪里!(这甚至可以通过简单的控制台完成)