使用Flask开发RESTful API的完整指南

花开有时
花开有时
发布时间:2026-10-11| 3人浏览过
原创

本文详细介绍如何使用Flask轻量级框架构建标准的RESTful API。从环境配置到项目初始化,再到GET、POST、PUT、DELETE等核心路由的编写与JSON响应处理,逐步演示完整的增删改查接口开发流程。附可直接运行的代码模板,帮助开发者快速掌握Flask后端服务开发规范。

Flask 开发 RESTful API 的核心原理

RESTful API 是一种基于 REST 架构风格的 Web 接口设计规范。它利用 HTTP 协议的不同请求方法(如 GET、POST、PUT、DELETE)来对应资源的查询、创建、更新与删除操作,并通过标准化的 URL 路径与 JSON 数据格式进行通信。Flask 作为轻量级 Python Web 框架,内置了灵活的路由系统,非常适合快速构建高可用的 RESTful 服务。

第1步:安装框架与基础依赖

首先确保本地已安装 Python 3.8+。推荐使用虚拟环境隔离项目依赖,随后通过包管理器安装 Flask:

pip install Flask

安装完成后,新建一个 Python 文件(例如 app.py),并在文件顶部引入核心模块。Flask 默认提供 jsonify 用于序列化返回数据,request 用于解析客户端传参:

from flask import Flask, jsonify, request

第2步:初始化应用实例

使用 Flask(__name__) 创建应用对象。这是整个服务的入口点,负责管理路由注册、配置参数及中间件执行:

app = Flask(__name__)

第3步:编写资源路由与处理逻辑

通过 @app.route 装饰器绑定 URL 路径与 HTTP 方法。在实际开发中,建议为每个资源操作编写独立的视图函数,并根据业务需求获取请求数据、执行业务逻辑、返回结构化 JSON 响应及对应的 HTTP 状态码:

@app.route('/api/resource', methods=['GET'])
def get_resource():
    return jsonify({'message': 'Get resource successfully'}), 200

@app.route('/api/resource', methods=['POST'])
def create_resource():
    data = request.get_json()
    if not data:
        return jsonify({'error': 'Request body is empty'}), 400
    return jsonify({'message': 'Create resource successful'}), 201

@app.route('/api/resource/<int:id>', methods=['PUT'])
def update_resource(id):
    data = request.get_json()
    if not data:
        return jsonify({'error': 'Missing data'}), 400
    return jsonify({'message': f'Update resource {id} successful'}), 200

@app.route('/api/resource/<int:id>', methods=['DELETE'])
def delete_resource(id):
    return jsonify({'message': f'Delete resource {id} successful'}), 200

注意:<int:id> 需明确类型约束,防止路径参数解析错误。所有接口均通过 jsonify() 自动设置 Content-Type: application/json,并支持附加第二个参数指定 HTTP 状态码。

第4步:启动服务与接口测试

在完成路由定义后,添加标准的主程序入口以启动本地调试服务器:

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000, debug=True)

运行脚本后,终端会显示访问地址。此时可使用 curl 或 Postman 发送不同类型的 HTTP 请求,观察控制台日志与返回的 JSON 结构。当看到预期的状态码与数据响应时,即表示接口已成功对接。

以上就是使用Flask开发RESTful API的完整实操流程,更多关于Python后端接口设计与优化的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。