Rumah >pembangunan bahagian belakang >Tutorial Python >FastAPI: Membawa kelajuan dan fleksibiliti kepada aplikasi web moden
FastAPI: Membawa kelajuan dan fleksibiliti kepada aplikasi web moden, contoh kod khusus diperlukan
Pengenalan:
Hari ini, keperluan aplikasi web semakin meningkat dari hari ke hari, dan pengguna mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk kelajuan dan fleksibiliti. Untuk memenuhi permintaan ini, pembangun perlu memilih rangka kerja yang betul untuk membina aplikasi web berprestasi tinggi. FastAPI ialah rangka kerja web Python yang baru muncul yang memberikan prestasi dan fleksibiliti yang sangat baik, membolehkan pembangun membina aplikasi web yang cekap dengan cepat. Artikel ini akan memperkenalkan rangka kerja FastAPI dan menggunakan contoh kod khusus untuk menunjukkan cara menggunakan FastAPI untuk membina aplikasi web moden dengan cepat.
1. Pengenalan kepada FastAPI
FastAPI ialah rangka kerja web berprestasi tinggi berdasarkan rangka kerja Starlette Ia menggunakan ciri terkini rangka kerja Python moden, seperti anotasi jenis, sokongan tak segerak dan penjanaan dokumen automatik. FastAPI direka untuk memberikan prestasi maksimum sambil mengekalkan kemudahan pembangunan dan penyelenggaraan. Dengan FastAPI, pembangun boleh mengendalikan permintaan serentak yang tinggi dengan mudah, dan kejelasan dan kebolehbacaan kod juga dijamin.
2. Pasang dan konfigurasikan FastAPI
Pertama, kita perlu menggunakan arahan pip untuk memasang FastAPI dan uvicorn (pelayan ASGI):
$ pip install fastapi uvicorn
Selepas pemasangan selesai, kita boleh menggunakan kod berikut untuk mencipta aplikasi FastAPI yang paling mudah :
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"}
Dalam baris arahan, kita boleh menggunakan arahan berikut untuk menjalankan aplikasi ini:
$ uvicorn main:app --reload
Dengan mengakses localhost:8000, kita boleh melihat "Hello World" dikembalikan dalam penyemak imbas.
3 Gunakan FastAPI untuk membina API
FastAPI menyediakan satu siri penghias untuk menentukan dan mengendalikan kaedah permintaan HTTP yang berbeza, termasuk GET, POST, PUT, DELETE, dsb. Berikut ialah contoh membina API menggunakan FastAPI:
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float inventory = [] @app.get("/items") def get_items(): return inventory @app.post("/items") def create_item(item: Item): inventory.append(item) return item
Dalam contoh ini, kami mentakrifkan dua fungsi penghalaan: get_items dan create_item. get_items digunakan untuk mendapatkan semua item, create_item digunakan untuk mencipta item baharu. Pada masa yang sama, kami menggunakan perpustakaan pydantic untuk menentukan model Item untuk mengesahkan data permintaan POST.
Selepas menjalankan aplikasi, kami boleh menggunakan alat seperti curl atau Postman untuk menghantar permintaan HTTP untuk mensimulasikan panggilan API. Sebagai contoh, kita boleh menggunakan arahan berikut untuk mendapatkan semua item:
$ curl http://localhost:8000/items
Buat item baharu dengan menghantar permintaan POST:
$ curl -X POST -H "Content-Type: application/json" -d '{"name":"item1", "price":10}' http://localhost:8000/items
Seperti yang anda lihat daripada hasil yang dikembalikan, FastAPI menyediakan cara yang sangat ringkas dan cekap untuk membina API .
4. Sokongan tak segerak
Aplikasi web moden bukan sahaja perlu mengendalikan permintaan serentak yang tinggi, tetapi juga perlu menyokong operasi tak segerak untuk meningkatkan prestasi. FastAPI menyediakan sokongan asli untuk operasi tak segerak dengan memanfaatkan ciri baharu Python 3.7, async dan tunggu. Berikut ialah contoh menggunakan operasi tak segerak:
from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float inventory = [] @app.get("/items") async def get_items(): return inventory @app.post("/items") async def create_item(item: Item): await some_async_operation(item) inventory.append(item) return item
Dalam contoh ini, kami telah menggunakan kata kunci async pada fungsi get_items dan create_item untuk mentakrifkan fungsi tak segerak. Dengan cara ini, kami boleh melakukan beberapa operasi yang memakan masa, seperti pertanyaan pangkalan data, permintaan HTTP, dll., tanpa menyekat pelaksanaan keseluruhan aplikasi.
5. Penjanaan dokumen automatik
FastAPI mempunyai UI Swagger terbina dalam dan sokongan ReDoc, yang boleh menjana dokumentasi untuk API secara automatik. Dalam persekitaran pengeluaran, ciri ini boleh membantu pasukan memahami dan menggunakan API dengan lebih baik. Kami hanya perlu mengakses dokumen yang dijana secara automatik melalui localhost:8000/docs atau localhost:8000/redoc.
Kesimpulan:
FastAPI ialah rangka kerja web Python yang berkuasa yang memberikan prestasi dan fleksibiliti yang sangat baik, membolehkan pembangun membina aplikasi web moden dengan cepat. Artikel ini memperkenalkan penggunaan asas FastAPI melalui contoh kod khusus dan menunjukkan kelebihannya dalam membina API berprestasi tinggi. Jika anda mencari rangka kerja web yang cekap, mudah dibangunkan dan diselenggara, FastAPI akan menjadi pilihan yang baik.
Rujukan:
(bilangan perkataan: 1000 patah perkataan)
Atas ialah kandungan terperinci FastAPI: Membawa kelajuan dan fleksibiliti kepada aplikasi web moden. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!