编辑模式 · 点击文字即可修改 · Ctrl+S 导出 再次按 E 或点击左上角退出
模块 5.1 · 后端第一课

究竟什么是 API?

不解释、不打比方——亲手调用两个真的

零到全栈 · 李勃老师 · 2026
不止一个人这样问过我

"人家说提供的是 API——
这个 API,到底是什么意思?"

一个在医院工作的朋友 · 他只是想用一下大模型

课程走到这儿了

前端收工,后端启程

已完成 · 模块 3 – 4 ✓
前端
浏览器里看得见的一切——页面、组件、构建、部署上线。
今天开始 · 模块 5 – 7
后端
服务器上看不见的部分——计算、处理、存储;以及把两边连起来的 API

文字实验室那个"开始分析"还没反应、分数还是假数据——要让它真的能算,就从这一节开始。

这一节不比喻、不背定义

没用过的东西,很难解释;
用过一两次,不需要解释

所以:直接拿两个真的 API,亲手调用一下。

第一个 API · 零门槛

新工具 curl:在终端里发网络请求

$ curl 'https://api.ipify.org?format=json' { "ip": "114.86.123.45" }

网址加引号,是怕终端误解那个 ?。这串网址粘进浏览器地址栏,也能看到同一段数据——浏览器打开网址,本质上也是"发请求、拿响应"

第二个 API · DeepSeek,有点门槛

先拿一把"身份钥匙":API Key

1
API Key
sk- 开头的一串
平台上创建,只完整显示一次——复制存好。对方靠它知道"是谁在调"。
2
成本诚实
按用量计费
需要充一点点余额;我们就调那么几次,一次花不了几分钱。
3
关键姿势
照官方文档抄
接口文档里直接给了 curl 示例——照着别人的文档,用上别人的能力
官方示例,只改两处

一处换 key,一处换你想说的话

请求(终端里粘贴)
curl https://api.deepseek.com/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的key" \ -d '{ "model": "deepseek-v4-pro", "messages": [ ..., {"role":"user", "content":"你好,请用一句话介绍你自己"} ], ... }'
响应(删掉次要字段后)
{ "choices": [{ "message": { "role": "assistant", "content": "你好!我是 DeepSeek, 一个由深度求索打造的 AI 助手…" } }] }

答案就藏在 choices → message → content 这一层一层里面。

把两次调用放在一起看

一次 API 调用,就是这四步

终端 — zsh
$curl 'https://api.ipify.org?format=json'
{ "ip": "114.86.123.45" }
$
🧑 你(或你的程序)
① 请求发往一个 URL
③ 回来一段 JSON
▣ 对方的服务器
api.ipify.org · api.deepseek.com
一直运行,守着等请求
② 在它自己那边处理(我们看不见)
1一个 URL 发起请求,带上该带的信息——key、消息……没有要求就不带。 2对方在它自己那边处理——我们看不见,也不用管 3它回给我们一段数据——一般就是 JSON 4终端把它打印出来;如果是程序在调,程序就直接用上这段数据。
API 究竟是什么

把自己的能力,通过一个固定的入口
持续对外提供,让别的程序来调用

这个入口,就是 API——Application Programming Interface,应用程序编程接口。
程序不能每次都打开一个浏览器——API 的设计,本身就是为计算机程序服务的。

功能完全不同,方式几乎一样

ipify vs DeepSeek:对照着看

查公网 IP · ipify
URLapi.ipify.org
方式GET——取数据
带什么没有要求,什么都不带
回什么{ "ip": … }
调大模型 · DeepSeek
URLapi.deepseek.com/chat/completions
方式POST——提交内容
带什么API Key + 你的消息
回什么choices → message → content

GET 和 POST 是最常用的两种请求方式;标准里还有别的(DELETE 等),遇到再认。

格式标准带来的推论

API 这个入口,和它内部
用什么语言实现,是两回事

我们不关心 DeepSeek 是 Python 写的还是 C 写的;DeepSeek 也不关心我们用 curl 调还是 Python 调。

AI 时代,到处都是 API

Agent 的神秘感,就此解除

前台 · 你看到的
AI 产品与 Agent:好看的界面,仿佛无所不能
能回答、能查天气、能搜网页、能发消息、能读文件……
它们的本事,来自幕后的两类"工具"
幕后 · 联网的工具
查天气、查快递、搜网页、喊另一个大模型帮忙——基本都是在调 API。把你的话包装发过去,把答案拿回来。
幕后 · 本机的工具
跑命令、读写文件——严格说不算网络 API,但骨子里一回事:照固定接口,调现成能力

你理解了 API,就揭开了这些工具神秘面纱的一大半。

回到我们的网站

我们也做一个 API——前端调后端

文字实验室 · 浏览器(前端)
情感分数 — 拼音 —
情感分数 0.92 · pīn yīn ✓
🧑 用户输入了一段文字
① 请求(带着那段文字)
③ 返回 JSON(分数+拼音)
▣ 我们自己写的 API
后端 · Python
一直运行、守在服务器上,等着接请求
② 算情感分数 · 算拼音
1用户点"开始分析"——前端把文字装进请求,发给我们自己写的 API 2后端接住请求,算出情感分数和拼音。 3算完,回一段 JSON——和 DeepSeek 回我们的,是同一种东西。 4前端把值填进界面——和你刚才调 DeepSeek,是同一回事
给"后端"一个正式说法

前端管看得见的,后端管看不见的

前端
跑在用户的浏览器里
负责看得见的展示和交互——模块 3、4 我们做的一切。
后端
一直运行、守在服务器上
等着接收请求;负责计算、处理,把数据存下来。ipify 和 DeepSeek 背后,就是它们的后端。

而 API,就是前端用来调用后端的那个入口

最后说说语言

后端,用什么语言写都能做

JavaScript (Node) Python ←我们选它 Go Java PHP Ruby C#
1
生态特别成熟
算法、数据、AI 方向的库最全——我们要算的拼音和情感分数,正好借上这个力。
2
语法对初学者友好
读起来接近自然语言,起步负担小。

但请记住:Python 只是其中一个选择。API 这个概念,和用什么语言无关。

这一节没写一行程序,但你调通了两个真的 API

带走这几点

入口
API 就是一个程序对外公开的入口:按规定方式发请求,就能用上它的能力,不必知道内部怎么实现。
形态
一次调用 = 请求 → 处理 → 返回。请求常见 GET / POST,返回常见 JSON——但形态不止这些。
通行做法
两个不同的服务,调用方式一模一样——通过 API 提供能力是软件世界的通行做法,且与语言无关
AI
AI 应用天天在做的,就是你今天做的事——调 API。它们不神秘。
后端之旅 · 下一步

下一节,
Python 装进你的电脑

跑起你的第一个 Python 程序——为亲手写出我们自己的 API 做好准备。咱们下一节见。