【 Flask 教學 】五分鐘學會 Flask 中的 GET, POST, PUT, PATCH, DELETE

本文詳細講解如何在 Flask 中使用 HTTP 請求方法,包括 GET、POST、PUT、PATCH 和 DELETE。文章介紹每種請求方法的用途和使用方法,並提供了相應的程式碼範例,使讀者能夠更好地理解如何在 Flask 中使用這些請求方法。本文適合初學者閱讀,可快速了解 Flask 中 HTTP 請求方法的基本使用方法。

GET 請求

GET 請求用於從伺服器獲取資料。在 Flask 中,使用 GET 請求非常簡單。以下是一個簡單的範例,使用 GET 請求從伺服器獲取資料:

1
2
3
4
5
6
7
8
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data', methods=['GET'])
def get_data():
data = {'name': 'Alice', 'age': 25}
return jsonify(data)

在這個範例中,我們使用 Flask 的 @app.route 裝飾器來指定路由,其中 methods=['GET'] 指定了使用 GET 請求。我們定義了一個 get_data 函數,返回一個包含 nameage 屬性的 JSON Response。

POST 請求

POST 請求用於向伺服器提交資料。在 Flask 中,使用 POST 請求同樣非常簡單。以下是一個範例,使用 POST 請求提交表單資料:

1
2
3
4
5
6
7
8
9
10
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/data', methods=['POST'])
def post_data():
name = request.form['name']
age = request.form['age']
data = {'name': name, 'age': age}
return jsonify(data)

在這個範例中,我們同樣使用 @app.route 裝飾器指定路由和請求方法。我們定義了一個 post_data 函數,使用 request.form 獲取提交的表單資料,然後將資料封裝成 JSON Response返回。

PUT 請求

PUT 請求用於更新伺服器上的資料。在 Flask 中,使用 PUT 請求也很簡單。以下是一個範例,使用 PUT 請求更新一條記錄:

1
2
3
4
5
6
7
8
9
10
11
from flask import Flask, request, jsonify

app = Flask(__name__)

data = {'name': 'Alice', 'age': 25}

@app.route('/data/<name>', methods=['PUT'])
def put_data(name):
age = request.form['age']
data[name] = age
return jsonify(data)

在這個範例中,我們使用了 URL 參數 <name> 來指定要更新的記錄。我們定義了一個 put_data 函數,使用 request.form 獲取新的年齡資料,並將資料更新到 data 字典中。

PATCH 請求

PATCH 請求用於部分更新伺服器上的資料。在 Flask 中,使用 PATCH 請求同樣很簡單。以下是一個範例,使用 PATCH 請求部分更新一條記錄:

1
2
3
4
5
6
7
8
9
10
11
from flask import Flask, request, jsonify

app = Flask(__name__)

data = {'name': 'Alice', 'age': 25}

@app.route('/data/<name>', methods=['PATCH'])
def patch_data(name):
age = request.form['age']
data[name]['age'] = age
return jsonify(data)

在這個範例中,我們同樣使用 URL 參數 <name> 來指定要更新的記錄。我們定義了一個 patch_data 函數,使用 request.form 獲取新的年齡資料,並將資料部分更新到 data 字典中。

DELETE 請求

DELETE 請求用於刪除伺服器上的資料。在 Flask 中,使用 DELETE 請求同樣非常簡單。以下是一個範例,使用 DELETE 請求刪除一條記錄:

1
2
3
4
5
6
7
8
9
10
from flask import Flask, jsonify

app = Flask(__name__)

data = {'name': 'Alice', 'age': 25}

@app.route('/data/<name>', methods=['DELETE'])
def delete_data(name):
del data[name]
return jsonify(data)

在這個範例中,我們同樣使用 URL 參數 <name> 來指定要刪除的記錄。我們定義了一個 delete_data 函數,使用 Python 的 del 語句從 data 字典中刪除指定的記錄,並將更新後的資料封裝成 JSON Response返回。

評論