使用Python构建RestFul API
Flask 是一个用 Python 编写的轻量级 Web 框架,广泛用于构建 API 和 Web 应用程序。它的设计目标是让开发者能够快速、简单地创建 API,同时支持扩展以满足复杂应用程序的需求。API(应用程序编程接口)是一种允许两个设备之间进行通信的机制,而 REST 是构建 RESTful API 的通用标准。RESTful API 将资源组织为一组唯一的 URI(统一资源标识符),通过这些 URI 可以区分服务器上的不同资源。
RESTful API 的基本操作
在 RESTful API 中,不同的 HTTP 方法表示不同的操作:
- POST:创建一个新资源。
- GET:读取现有资源的数据。
- PUT:更新现有资源。
- DELETE:删除现有资源。
在发送请求时,HTTP 请求正文中可以包含一个可选的数据有效载荷,通常以 JSON 格式编码。服务器接收请求后会进行处理,并将结果格式化为响应返回。
先决条件
在开始之前,您需要确保已安装以下工具和环境:
-Python3.x
virtualenv
虚拟环境工具- Flask 框架
入门指南
环境配置
-
使用以下命令安装
virtualenv
:pip3installvirtualenv
-
创建虚拟环境并激活:
virtualenvpyEnv-ppython3 sourcepyEnv/bin/activate
-
安装 Flask 框架:
pip3installflask
-
确认所有依赖项已正确安装:
pipfreeze
创建 Flask 应用程序
- 在项目目录中创建一个名为
app.py
的文件。 -
在
app.py
中编写以下代码:fromflaskimportFlask,request,jsonify app = Flask(__name__)
@app.route(‘/hello’,methods=[‘GET’])
def hello_world():
returnjsonify({"message":"Hello,World!"})
if name == ‘main‘:
app.run(debug=True)
3. 运行应用程序:
```bash
pythonapp.py
在终端中,您将看到 Flask 提供的调试模式 URL,您可以通过浏览器访问该 URL 来测试应用程序。
添加数据库支持
为了存储和管理数据,我们将使用 SQLite 数据库。SQLite 是一个轻量级的嵌入式数据库管理系统,适合快速开发和测试。
配置数据库
-
创建一个名为
db.py
的文件,并添加以下代码:importsqlite3 def db_connection(): conn=None try: conn=sqlite3.connect("events.sqlite") exceptsqlite3.Errorase: print(e) returnconn
-
初始化数据库表:
conn=sqlite3.connect("events.sqlite") [cursor](https://www.explinks.com/provider/uid20241129965408092c70)=conn.cursor() sql_query = """ CREATETABLEIFNOTEXISTSevents( idINTEGERPRIMARYKEY, event_type TEXT NOT NULL, event_name TEXT NOT NULL ) """ cursor.execute(sql_query) conn.commit() conn.close()
实现 RESTful API 路由
在 app.py
中添加以下代码以实现基本的 GET 和 POST 操作:
from flask import Flask, request, jsonify
import sqlite3
app = Flask(__name__)
def db_connection():
conn = None
try:
conn = sqlite3.connect("events.sqlite")
except sqlite3.Error as e:
print(e)
return conn
@app.route('/events', methods=['GET', 'POST'])
def events():
conn = db_connection()
cursor = conn.cursor()
if request.method == 'GET':
cursor.execute("SELECT * FROM events")
events = [
dict(id=row[0], event_type=row[1], event_name=row[2])
for row in cursor.fetchall()
]
return jsonify(events)
if request.method == 'POST':
new_event = request.get_json()
sql = """INSERT INTO events (event_type, event_name) VALUES (?, ?)"""
cursor.execute(sql, (new_event["event_type"], new_event["event_name"]))
conn.commit()
return jsonify(new_event), 201
测试 API
总结
通过本文,您学习了如何使用 Flask 构建一个简单的 RESTful API,包括环境配置、数据库集成以及实现基本的 GET 和 POST 操作。接下来,您可以尝试扩展 API 功能,例如添加 PUT 和 DELETE 方法,或集成更复杂的数据库操作。
祝您开发顺利!
原文链接: https://cto.ai/blog/building-a-restful-api-with-python/
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- GPT-OSS 模型驱动在线编程课 AI 助教,3 天打造追问式对话 API
- Kimi K2-0905 256K上下文API状态管理优化:长流程复杂任务实战
- Go工程化(四) API 设计上: 项目结构 & 设计
- 如何获取Dify AI API开放平台秘钥(分步指南)
- 手机号查询API:获取个人信息的便捷工具
- 大型项目中如何规避 Claude 限流风险?开发实战指南
- 为什么要编写高质量的在线API文档?
- 基于DeepSeek-V3.1开源技术的开发者社区应用审核API指南
- 2025 PHP REST API 快速入门指南:从零构建到实战
- TikTok API使用指南:短视频图像生成实践案例
- Java 生鲜电商平台 – API 接口设计之 token、timestamp、sign 具体架构与实现
- HIP-1217热点:DeFi镜像节点API实时gRPC流式余额校验实战