REST API 与前后端交互:让应用真正跑起来

在现代 Web 开发中,前后端分离已经成为主流。无论你是在做管理后台、小程序、移动 App 还是复杂的 Web 系统,都绕不开一个关键技术: REST API

当你能用 Python 写出清晰、规范、易用的 REST API 时,你做的项目就能被各类前端轻松调用,从而具备真正的"互联网应用能力"。

今天我们就聊聊 REST API 是什么、为什么重要、该怎么用 Python 实现,以及前后端之间是如何交互的。


一、什么是 REST API

REST 的全称是 Representational State Transfer,是一种轻量级、标准化的接口设计风格。

它不复杂,用一句话概括就是:

使用 URL 表示资源,用 HTTP 方法表达操作。

比如"文章"这个资源:

操作 方法 示例 URL
获取文章列表 GET /api/articles/
创建一篇文章 POST /api/articles/
获取某篇文章详情 GET /api/articles/10/
更新文章 PUT /api/articles/10/
删除文章 DELETE /api/articles/10/

这就是 REST 最核心的思想: URL 表资源,方法表行为。


二、REST API 为什么重要

在前后端分离架构下:

  • 前端:负责页面、展示、交互
  • 后端:负责数据、业务逻辑、权限、存储

两者通过 API 连接,像这样:

css 复制代码
React / Vue / 小程序 / App  →  REST API  →  Python 后端

好处非常明确:

  1. 灵活:一个后端,可以服务多端
  2. 解耦:前端改界面不影响后端逻辑
  3. 可测试:API 可以用 Postman、curl 测试
  4. 标准化:结构清晰,团队协作更容易

也就是说,只要你写好 API,应用就能随便接各种前端。


三、Python 如何实现 REST API

Python 有很多方式可以创建 REST API,最常用的有:

  • Flask:轻量灵活
  • Django REST framework:强大、企业级
  • FastAPI:高性能、现代化(文档好、速度快)

下面我们用 Flask 示范一个最简单的 REST API。


四、用 Flask 写一个简单 REST API

你先安装 Flask:

bash 复制代码
pip install flask

写一个基础接口:

python 复制代码
from flask import Flask, jsonify, request

app = Flask(__name__)

articles = [
    {"id": 1, "title": "Hello Python", "content": "Flask makes API easy"},
    {"id": 2, "title": "REST 风格", "content": "让接口更标准更清晰"},
]

@app.get("/api/articles")
def get_articles():
    return jsonify(articles)

@app.post("/api/articles")
def create_article():
    data = request.json
    data["id"] = len(articles) + 1
    articles.append(data)
    return jsonify({"message": "created", "article": data})

if __name__ == "__main__":
    app.run()

运行:

bash 复制代码
python app.py

然后你就可以访问:

这就是最基础的 REST API。


五、前端是如何调用 API 的

现代前端一般使用 axios、fetch、uni.request、小程序 API 等方式 来调用后端接口。

以 JavaScript fetch 为例:

javascript 复制代码
fetch("http://127.0.0.1:5000/api/articles")
  .then(resp => resp.json())
  .then(data => console.log(data));

返回值通常是 JSON:

json 复制代码
[
  {
    "id": 1,
    "title": "Hello Python",
    "content": "Flask makes API easy"
  },
  {
    "id": 2,
    "title": "REST 风格",
    "content": "让接口更标准更清晰"
  }
]

你会发现,前端不需要知道任何数据库细节,只用关注数据本身即可。


六、REST API 必须遵守的规范

一个优秀的 API 应该满足以下条件:

1. 返回统一的 JSON 结构

不要让前端猜字段。

2. 明确的 HTTP 状态码

示例:

  • 200 成功
  • 201 创建成功
  • 400 参数错误
  • 401 未登录
  • 500 服务端错误

3. 使用名词做 URL

尽量避免:

bash 复制代码
/getArticle
/addArticle

要这样:

bash 复制代码
/articles/
/articles/10

4. 保证数据结构清晰可读

字段名称简洁统一。


七、Python 中更强大的 REST 框架推荐

如果你的项目较大,推荐使用:

Django REST framework

特点:

  • 自带认证系统
  • 自带分页、序列化、验证
  • 企业级项目首选

一行代码就能生成 API:

python 复制代码
from rest_framework.viewsets import ModelViewSet

FastAPI

特点:

  • 非常快
  • 自动生成 Swagger 文档
  • 异步支持强

示例语法简洁漂亮:

python 复制代码
from fastapi import FastAPI

app = FastAPI()

@app.get("/items")
def read_items():
    return {"msg": "hello"}

八、总结

这一章我们搞清楚了:

  • REST API 是前后端分离的基石
  • API 就是资源(URL)+ 行为(HTTP 方法)
  • Python 可以用 Flask、Django REST、FastAPI 等框架实现
  • 前端通过 JSON/HTTP 调用 API
  • 优秀的 API 必须规范、统一、清晰

当你能熟练写 REST API,你已经具备成为后端开发者的重要能力。 在实际项目中,它能帮你快速搭建服务端系统,让你的业务真正落地运行。

相关推荐
mldong7 小时前
一份 JSON,一条能跑的审批流:把报销流程送上工作流引擎
后端·架构
wno7047 小时前
Spring Boot WebFlux增删改查
java·spring boot·后端
Captaincc7 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
YsyaaabB7 小时前
Python 数值分析
python
阿洛学长7 小时前
计算机二级 Python 基本操作题(15 分)真题笔记(0101 ~ 1903 全套)
python·pycharm
weixin199701080167 小时前
[特殊字符]️《二手ERP对接电商平台的总体方案:统一数据模型 + 事件驱动 + 灰度上线6原则》(附Python源码)
大数据·python
aramae8 小时前
模拟实现strlen()函数 (C语言)
c语言·开发语言·后端
滚雪球~8 小时前
量化交易 防止Windows电脑自动更新并重启
python·量化
IT_陈寒9 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
L@ncor9 小时前
第二章可能出现的问题
人工智能·python