Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan parameter laluan dalam FastAPI untuk permintaan berparameter

Cara menggunakan parameter laluan dalam FastAPI untuk permintaan berparameter

王林
王林asal
2023-07-28 15:13:461131semak imbas

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: FastAPIPath模块,并创建一个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}

在上面的例子中,我们使用了gele两个参数限制了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中使用路径参数进行参数化请求的步骤如下:

  1. 导入Path模块和FastAPI库。
  2. 创建一个apprrreee
  3. Seterusnya, kita boleh menghalakan laluan Tentukan parameter laluan dalam . Parameter laluan ialah rentetan yang dikelilingi oleh pendakap kerinting di mana kita boleh menentukan nama dan jenis data parameter. Sebagai contoh, kita boleh mentakrifkan parameter laluan item_id:
  4. rrreee
  5. Dalam contoh di atas, kami mentakrifkan laluan penghalaan /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.
  6. Apabila kami menghantar permintaan kepada pelayan /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:
rrreee

Kami juga boleh menentukan parameter tambahan untuk parameter laluan. Sebagai contoh, kita boleh menentukan nilai minimum dan maksimum untuk parameter laluan. Berikut ialah contoh:

rrreee

Dalam 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.

    Selain jenis data biasa, kami juga boleh menggunakan jenis penghitungan sebagai jenis data untuk parameter laluan. Berikut ialah contoh:
  • rrreee
  • Dalam contoh di atas, kami mentakrifkan kelas penghitungan Saiz dan menggunakannya sebagai jenis data parameter saiz. Apabila kami menghantar permintaan kepada /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: 🎜
    🎜Import modul 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn