Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menggunakan parameter laluan dalam FastAPI untuk permintaan berparameter
Cara menggunakan parameter laluan dalam FastAPI untuk permintaan berparameter
FastAPI ialah rangka kerja web yang pantas (prestasi tinggi), mudah digunakan dan moden yang dibangunkan berdasarkan API standard (cth., menggunakan Pydantic dan OpenAPI). Dalam FastAPI, kami boleh menggunakan parameter laluan untuk meparameterkan permintaan untuk mengendalikan permintaan yang berbeza dengan lebih baik.
Parameter laluan merujuk kepada bahagian URL yang mengenal pasti tika tertentu sumber. Menggunakan parameter laluan boleh membantu kami mendapatkan data khusus daripada API Web mengikut keperluan yang berbeza. Berikut akan memperkenalkan cara menggunakan parameter laluan untuk membuat permintaan berparameter dalam FastAPI dan memberikan contoh kod yang sepadan.
Mula-mula, kita perlu mengimport modul FastAPI
dan Path
dan mencipta objek app
: FastAPI
和Path
模块,并创建一个app
对象:
from fastapi import FastAPI, Path app = FastAPI()
接下来,我们可以在路由路径中定义路径参数。路径参数是由花括号包围的字符串,我们可以在其中定义参数的名称和数据类型。例如,我们可以定义一个item_id
的路径参数:
@app.get("/items/{item_id}") async def read_item(item_id: int): return {"item_id": item_id}
在上面的例子中,我们定义了一个/items/{item_id}
的路由路径,并将路径参数item_id
的数据类型定义为int
。在函数参数中,我们可以直接使用路径参数的名称item_id
来获取该值。
当我们向服务器发送请求 /items/42
时,FastAPI将自动将路径参数的值传递给相应的函数,并将其作为参数的值返回。在上面的例子中,将返回一个JSON对象,该对象包含参数的名称和值:
{"item_id": 42}
我们还可以为路径参数指定其他参数。例如,我们可以指定路径参数的最小值和最大值。下面是一个示例:
@app.get("/users/{user_id}") async def read_user(user_id: int = Path(..., ge=1, le=100)): return {"user_id": user_id}
在上面的例子中,我们使用了ge
和le
两个参数限制了user_id
的范围,表示user_id
的值必须大于等于1且小于等于100。如果我们发送的请求中user_id
超出了这个范围,FastAPI将会发送一个HTTP异常响应。
除了常规的数据类型,我们还可以使用枚举类型作为路径参数的数据类型。下面是一个示例:
from enum import Enum class Size(str, Enum): small = "small" medium = "medium" large = "large" @app.get("/items/{item_id}/size/{size}") async def read_item_size(item_id: int, size: Size): return {"item_id": item_id, "size": size}
在上面的例子中,我们定义了一个Size
枚举类,并将其作为参数size
的数据类型。当我们发送请求 /items/42/size/small
时,FastAPI将会将路径参数的值传递给相应的函数,并将其作为参数的值返回。
使用路径参数进行参数化请求是使用FastAPI处理Web API中不同请求的重要技术之一。通过路径参数,我们可以定义不同的路由路径,并根据不同的需求从服务器中获取特定的数据。在上述示例中,我们演示了如何使用路径参数进行参数化请求,并提供了对应的代码示例。
总结一下,在FastAPI中使用路径参数进行参数化请求的步骤如下:
Path
模块和FastAPI
库。app
rrreeeitem_id
: /items/{item_id}
dan menambah data jenis parameter laluan item_id
ditakrifkan sebagai int
. Dalam parameter fungsi, kita boleh terus menggunakan nama parameter laluan item_id
untuk mendapatkan nilai. /items/42
, FastAPI secara automatik akan menghantar nilai parameter laluan kepada fungsi yang sepadan dan mengembalikannya sebagai nilai parameter. Dalam contoh di atas, objek JSON akan dikembalikan yang mengandungi nama dan nilai parameter: Kami juga boleh menentukan parameter tambahan untuk parameter laluan. Sebagai contoh, kita boleh menentukan nilai minimum dan maksimum untuk parameter laluan. Berikut ialah contoh:
rrreeeDalam contoh di atas, kami menggunakan dua parameter ge
dan le
untuk mengehadkan julat user_id
, Menunjukkan bahawa nilai user_id
mestilah lebih besar daripada atau sama dengan 1 dan kurang daripada atau sama dengan 100. Jika user_id
dalam permintaan yang kami hantar melebihi julat ini, FastAPI akan menghantar respons pengecualian HTTP.
/items/42/size/small
, FastAPI akan menghantar nilai parameter laluan kepada fungsi yang sepadan dan mengembalikannya sebagai nilai parameter. Permintaan berparameter menggunakan parameter laluan ialah salah satu teknik penting untuk menggunakan FastAPI untuk mengendalikan permintaan yang berbeza dalam API Web. Melalui parameter laluan, kita boleh menentukan laluan penghalaan yang berbeza dan mendapatkan data khusus daripada pelayan mengikut keperluan yang berbeza. Dalam contoh di atas, kami menunjukkan cara menggunakan parameter laluan untuk membuat parameter permintaan dan menyediakan contoh kod yang sepadan.
🎜Untuk meringkaskan, langkah-langkah untuk menggunakan parameter laluan untuk membuat permintaan berparameter dalam FastAPI adalah seperti berikut: 🎜Path
dan pustaka FastAPI
. 🎜🎜Buat objek app
sebagai contoh aplikasi. 🎜🎜Tentukan parameter laluan dalam laluan penghalaan dan gunakan pendakap kerinting untuk melampirkan parameter. 🎜🎜Dalam fungsi yang sepadan, anda boleh terus menggunakan nama parameter laluan untuk mendapatkan nilai parameter. 🎜🎜🎜Menggunakan parameter laluan boleh membantu kami mengendalikan permintaan yang berbeza dengan lebih baik dan mendapatkan data khusus daripada pelayan dengan lebih tepat. 🎜🎜Rujukan: 🎜🎜🎜[Dokumentasi FastAPI](https://fastapi.tiangolo.com/)🎜🎜🎜Saya harap artikel ini membantu anda memahami cara menggunakan parameter laluan untuk membuat permintaan berparameter dalam FastAPI. 🎜Atas ialah kandungan terperinci Cara menggunakan parameter laluan dalam FastAPI untuk permintaan berparameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!