5.1 什么是API
后端第一课:API 是什么,并亲自上手调用两个真实 API。
课时概要
后端第一课。不打比方,直接亲手调两个真 API:curl 查公网 IP(GET)、调 DeepSeek 对话(POST + API Key)。搞懂「一次 API 调用 = 请求→对方处理→响应 JSON」,明白 API 是程序对外的固定入口、格式标准让语言无关、AI 时代到处是 API,以及我们要给网站补一个自己写的后端(用 Python)。
以上为 UP 主的 B 站官方简介,非观看笔记;只有跟完这一节才算自己的理解。
视频:【零到全栈】5.1-什么是API | 时长 22:59 | 模块 5 · 初试后端
讲义:模块 5.1:究竟什么是 API?(李勃老师.com)
本节要点
- API = 一个程序对外公开的固定入口:按它规定的方式发请求,就能用上它的能力,不必知道内部怎么实现。
- 一次调用 = 请求 →(对方处理,看不见)→ 响应(通常是 JSON)。
- curl 是终端里发网络请求的小工具,特别适合试 API;网址里有
?时用引号括起来。 - GET 用来取数据(查 IP),POST 用来提交内容(调大模型);还有 PUT/DELETE,遇到再认。
- API Key 是「身份钥匙」:算用量、防滥用,DeepSeek 这类按用量计费的服务必须带(
Authorization: Bearer sk-...)。 - 格式标准让 API 语言无关:调用方和提供方各用什么语言都行,DeepSeek 不关心我们用 curl 还是 Python。
- AI 时代到处是 API:AI 产品本质是调大模型 API;AI Agent 的本事来自一个个工具,联网的工具基本都是在调 API。
- 我们的网站接下来要补后端:一个一直运行、守在服务器上等请求的程序;前端调后端,也是调 API。这门课用 Python 写后端。
笔记正文(讲义整理)
第一个 API:查自己的公网 IP
零门槛,不用注册:
curl 'https://api.ipify.org?format=json'
# → { "ip": "114.86.123.45" }没打开任何网站就问到了自己此刻的公网 IP。这串网址粘进浏览器地址栏效果一样——你平时用浏览器打开网址,本质也是在发请求、拿响应。这就是「调用 ipify 的 API」。
第二个 API:调 DeepSeek 对话
有门槛,要一把身份钥匙(API Key,sk- 开头,按用量计费):
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的KEY" \
-d '{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "你好,请用一句话介绍你自己"}
]
}'回来的答案藏在 choices → message → content 里。没打开任何网页,就在终端里让大模型回了一句话。
API 的形态
两个 API 功能不同,但调用方式一模一样:① 向一个 URL 发请求;② 按要求带信息;③ 对方在自己那边处理;④ 回一段 JSON。
为什么 AI 时代到处是 API
- AI 产品很多本质就是调大模型 API:把你的话包装发过去,把答案拿回来包成好看界面;
- AI Agent 的本事来自一个个「工具」:查天气/查快递/发消息/喊另一个大模型——联网的工具基本都是调 API;
- 你刚才调 DeepSeek 做的事,正是那些 AI 应用天天在做的事。
回到我们的网站
文字实验室的「算拼音、算情感分数」前端干不了,需要一个专门负责计算的后端——一个一直运行、守在服务器上等请求的程序。前端怎么把文字交给它、怎么把分数拿回来?给自己的网站也做一个 API,就像 DeepSeek 的 /chat/completions,只不过是我们自己写的。后端可用很多语言写,这门课选 Python:算法/数据/AI 生态成熟、语法对新手友好。
和 GFG / 课程笔记的连接
模块 5 开始,你在 GFG 里学的 Python 终于直接用上了:
| 这节概念 | GFG 笔记里的对应 |
|---|---|
| curl 发请求 | 下一节你会用 Python 的 requests 库做同样的事:requests.get() / requests.post() |
| JSON 响应 | GFG 里的 dict / json 模块——响应回来就是个字典 |
| GET 取数据 / POST 提交 | GFG Web 章节里的 HTTP 方法 |
| API Key 鉴权 | 后面会用环境变量存 key,不写进代码 |
| 后端用 Python 写 | 你整个 GFG 笔记都是 Python 主线——现在要拿它写「守在服务器上的程序」了 |
记住这个对照:curl 在终端里干的事,
requests在 Python 脚本里原样干一遍。下一节装完 Python,你就会亲手做这个转换。
关键概念
- API(应用程序编程接口):程序对外公开的固定入口,按规定请求就能用它的能力。
- curl:终端里发网络请求的工具。
- GET / POST:GET 取数据,POST 提交内容;还有 PUT/DELETE。
- API Key:调用方的身份钥匙,用于鉴权和计费。
- JSON:API 响应最常用的数据格式。
- 后端:一直运行、守在服务器上等请求、负责计算和存数据的程序。
- 前端调后端:也是一次 API 调用。
代码 / 实操
# 1) 零门槛:查自己的公网 IP(GET)
curl 'https://api.ipify.org?format=json'
# 2) 调 DeepSeek(POST,替换成自己的 sk- key)
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的KEY" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "你好,请用一句话介绍你自己"}]
}'
# 答案在 choices[0].message.content我的收获
- 理解 API 最快的方式不是背定义,是亲手调两次——调完就不需要解释了。
- 浏览器打开网址、curl、前端调后端,本质都是同一件事:发请求、拿 JSON。
- AI Agent 的神秘感拆穿了一大半:它就是不停地调各种现成能力(很多就是 API)。
待深入
(待填:没听懂、想回头查的。)