Rumah >pembangunan bahagian belakang >Tutorial Python >FastAPI: Membawa kelajuan dan fleksibiliti kepada aplikasi web moden

FastAPI: Membawa kelajuan dan fleksibiliti kepada aplikasi web moden

王林
王林asal
2023-09-29 20:52:411412semak imbas

FastAPI: 为现代Web应用带来速度和灵活性

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:

  • https://fastapi.tiangolo.com/
  • https://github.com/tiangolo/fastapi

(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!

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