RESTful API 的基本操作

在 RESTful API 中,不同的 HTTP 方法表示不同的操作:

在發送請求時,HTTP 請求正文中可以包含一個可選的數據有效載荷,通常以 JSON 格式編碼。服務器接收請求后會進行處理,并將結果格式化為響應返回。


先決條件

在開始之前,您需要確保已安裝以下工具和環境:

-Python3.x


入門指南

環境配置

  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](http://www.dlbhg.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 路由:


總結

通過本文,您學習了如何使用 Flask 構建一個簡單的 RESTful API,包括環境配置、數據庫集成以及實現基本的 GET 和 POST 操作。接下來,您可以嘗試擴展 API 功能,例如添加 PUT 和 DELETE 方法,或集成更復雜的數據庫操作。

祝您開發順利!


原文鏈接: https://cto.ai/blog/building-a-restful-api-with-python/

上一篇:

如何使用 node.js 和 express 創建 rest api

下一篇:

Jakarta EE 9 入門指南:如何創建 REST API
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費