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

相关推荐
ChinaRainbowSea16 小时前
github 仓库主页美化定制
java·后端·github
吃好喝好玩好睡好16 小时前
OpenHarmony混合开发实战指南
c语言·python·flutter·vr·visual studio
white-persist16 小时前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
程序猿小蒜16 小时前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
CHANG_THE_WORLD16 小时前
Python 中的循环结构详解
开发语言·python·c#
quikai198116 小时前
python练习第一组
开发语言·python
谷粒.17 小时前
测试数据管理难题的7种破解方案
运维·开发语言·网络·人工智能·python
寒山李白17 小时前
关于Python版本与supervisor版本的兼容性
windows·python·supervisord
梨落秋霜17 小时前
Python入门篇【基础语法】
开发语言·python
老华带你飞17 小时前
社团管理|基于Java社团管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端