所有文章 > API开发 > 使用Python构建RestFul API
使用Python构建RestFul API

使用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 框架

入门指南

环境配置

  1. 使用以下命令安装 virtualenv

    pip3installvirtualenv
  2. 创建虚拟环境并激活:

    virtualenvpyEnv-ppython3
    sourcepyEnv/bin/activate
  3. 安装 Flask 框架:

    pip3installflask
  4. 确认所有依赖项已正确安装:

    pipfreeze

创建 Flask 应用程序

  1. 在项目目录中创建一个名为 app.py 的文件。
  2. 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 是一个轻量级的嵌入式数据库管理系统,适合快速开发和测试。

配置数据库

  1. 创建一个名为 db.py 的文件,并添加以下代码:

    importsqlite3
    
    def db_connection():
    conn=None
    try:
    conn=sqlite3.connect("events.sqlite")
    exceptsqlite3.Errorase:
    print(e)
    returnconn
  2. 初始化数据库表:

    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

  1. 启动应用程序:

    pythonapp.py
  2. 使用工具(如 PostmancURL)测试以下 API 路由:

    • GET /events:获取所有事件。
    • POST /events:创建新事件。

总结

通过本文,您学习了如何使用 Flask 构建一个简单的 RESTful API,包括环境配置、数据库集成以及实现基本的 GET 和 POST 操作。接下来,您可以尝试扩展 API 功能,例如添加 PUT 和 DELETE 方法,或集成更复杂的数据库操作。

祝您开发顺利!


原文链接: https://cto.ai/blog/building-a-restful-api-with-python/
#你可能也喜欢这些API文章!

我们有何不同?

API服务商零注册

多API并行试用

数据驱动选型,提升决策效率

查看全部API→
🔥

热门场景实测,选对API

#AI文本生成大模型API

对比大模型API的内容创意新颖性、情感共鸣力、商业转化潜力

25个渠道
一键对比试用API 限时免费

#AI深度推理大模型API

对比大模型API的逻辑推理准确性、分析深度、可视化建议合理性

10个渠道
一键对比试用API 限时免费