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,你已经具备成为后端开发者的重要能力。 在实际项目中,它能帮你快速搭建服务端系统,让你的业务真正落地运行。

相关推荐
gCode Teacher 格码致知4 小时前
Python基础教学:Python的openpyxl和python-docx模块结合Excel和Word模板进行数据写入-由Deepseek产生
python·excel
Dcs4 小时前
Java 中 UnaryOperator 接口与 Lambda 表达式的应用示例
java·后端
Destiny_where6 小时前
Agent平台-RAGFlow(2)-源码安装
python·ai
bagadesu6 小时前
使用Docker构建Node.js应用的详细指南
java·后端
molunnnn7 小时前
第四章 Agent的几种经典范式
开发语言·python
linuxxx1108 小时前
django测试缓存命令的解读
python·缓存·django
勇哥java实战分享9 小时前
第一次用 Ollama 跑视觉模型:Qwen2.5-VL 7B 给了我一个意外惊喜
后端
毕设源码-邱学长9 小时前
【开题答辩全过程】以 基于Python的Bilibili平台数据分析与可视化实现为例,包含答辩的问题和答案
开发语言·python·数据分析