Rumah >pembangunan bahagian belakang >Tutorial Python >Cara mengendalikan permintaan POST dalam FastAPI dan mengembalikan respons JSON
Cara mengendalikan permintaan POST dan mengembalikan respons JSON dalam FastAPI
FastAPI ialah rangka kerja web moden yang pantas (berprestasi tinggi), mudah digunakan, berdasarkan petunjuk jenis Python standard. Ia mempunyai sokongan tak segerak yang kuat dan boleh mengendalikan situasi konkurensi tinggi dengan mudah. Dalam FastAPI, kami boleh menggunakan kod ringkas untuk mengendalikan permintaan POST dan mengembalikan respons JSON. Artikel ini akan menerangkan cara untuk menyelesaikan tugas ini dalam FastAPI dan menyediakan contoh kod yang sepadan.
Pertama, kita perlu mencipta aplikasi FastAPI. Berikut ialah kod asas untuk membuat aplikasi:
from fastapi import FastAPI app = FastAPI()
Seterusnya, kita perlu mencipta laluan yang akan mengendalikan permintaan POST. FastAPI menggunakan penghias untuk menentukan laluan. Berikut ialah contoh pengendalian permintaan POST:
@app.post("/api/submit") async def submit_data(data: dict): # 在这里进行数据处理 # ... # 返回JSON响应 return {"message": "Data submitted successfully"}
Dalam contoh di atas, kami telah menentukan laluan menggunakan penghias @app.post
dengan laluan /api/submit code>, kaedah permintaan ialah POST. Fungsi penghalaan <code>submit_data
menerima parameter bernama data
, jenis parameter ialah dict
, yang akan digunakan untuk menerima data dalam permintaan POST. @app.post
定义了一个路由,该路由的路径为/api/submit
,请求方法为POST。路由函数submit_data
接受一个名为data
的参数,参数类型为dict
,它将用于接收POST请求中的数据。
在submit_data
函数中,我们可以进行数据处理的逻辑,如验证数据、保存到数据库等等。然后,我们使用return
语句返回一个JSON响应。在这个示例中,我们返回了一个包含键"message"
和值"Data submitted successfully"
的字典。
注意,在FastAPI中,使用async def
来定义异步函数,这样可以充分利用框架的异步特性,提高性能。
为了使应用程序能够运行起来,我们需要添加以下代码:
if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000)
以上代码将使应用程序运行在本地的0.0.0.0
地址上,监听端口8000。
现在,我们已经完成了在FastAPI中处理POST请求并返回JSON响应的基本代码。我们可以通过向/api/submit
发送一条POST请求,并在请求体中包含JSON数据来测试我们的应用程序。
以下是一个使用Python requests
库发送POST请求的示例:
import requests data = {"name": "John", "age": 30} response = requests.post("http://localhost:8000/api/submit", json=data) print(response.json())
在上面的示例中,我们创建了一个字典data
,包含了一些数据。然后,我们使用requests.post
方法发送POST请求,并通过json
参数将数据作为JSON发送。最后,我们使用response.json()
submit_data
, kami boleh melakukan logik pemprosesan data, seperti mengesahkan data, menyimpan ke pangkalan data, dsb. Kemudian, kami menggunakan pernyataan return
untuk mengembalikan respons JSON. Dalam contoh ini, kami mengembalikan kamus yang mengandungi kunci "mesej"
dan nilai "Data berjaya diserahkan"
. Perhatikan bahawa dalam FastAPI, gunakan async def
untuk menentukan fungsi tak segerak, yang boleh menggunakan sepenuhnya ciri tak segerak rangka kerja dan meningkatkan prestasi. 🎜🎜Untuk aplikasi berjalan, kita perlu menambah kod berikut: 🎜rrreee🎜Kod di atas akan menjadikan aplikasi dijalankan pada alamat 0.0.0.0
setempat dan dengar pada port 8000. 🎜🎜Kini kami telah melengkapkan kod asas untuk mengendalikan permintaan POST dalam FastAPI dan mengembalikan respons JSON. Kami boleh menguji aplikasi kami dengan menghantar permintaan POST ke /api/submit
dan memasukkan data JSON dalam badan permintaan. 🎜🎜Berikut ialah contoh menghantar permintaan POST menggunakan pustaka requests
Python: 🎜rrreee🎜Dalam contoh di atas, kami mencipta kamus requests.post
dan menghantar data sebagai JSON melalui parameter json
. Akhir sekali, kami menggunakan kaedah response.json()
untuk mendapatkan data JSON respons dan mencetaknya. 🎜🎜Dengan contoh mudah di atas, kami menunjukkan cara mengendalikan permintaan POST dan mengembalikan respons JSON dalam FastAPI. FastAPI menyediakan reka bentuk API yang ringkas dan berkuasa, membolehkan kami membina aplikasi web dengan lebih cekap. Saya harap artikel ini boleh membantu proses penggunaan FastAPI untuk mengendalikan permintaan POST. 🎜Atas ialah kandungan terperinci Cara mengendalikan permintaan POST dalam FastAPI dan mengembalikan respons JSON. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!