Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan berbilang laluan penghalaan dalam FastAPI

Bagaimana untuk melaksanakan berbilang laluan penghalaan dalam FastAPI

PHPz
PHPzasal
2023-07-29 08:16:541948semak imbas

Cara melaksanakan berbilang laluan penghalaan dalam FastAPI

FastAPI ialah rangka kerja web berasaskan Python yang moden, pantas (lebih pantas daripada Flask) dengan sintaks ringkas dan mudah digunakan yang digunakan secara meluas untuk membina API RESTful dan aplikasi web. Dalam FastAPI, berbilang laluan penghalaan boleh dilaksanakan dengan mudah untuk mengendalikan permintaan yang berbeza, menjadikan aplikasi kami lebih berfungsi. Artikel ini akan memperkenalkan cara untuk melaksanakan berbilang laluan penghalaan dalam FastAPI dan memberikan contoh kod yang sepadan.

1. Cipta aplikasi FastAPI dengan pantas

Pertama, kita perlu membuat aplikasi FastAPI dengan pantas untuk menunjukkan pelaksanaan berbilang laluan penghalaan. Sebelum itu, kita perlu memasang FastAPI dan uvicorn (untuk melancarkan aplikasi FastAPI):

pip install fastapi uvicorn

Kemudian, buat aplikasi FastAPI dalam fail Python:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def hello_world():
    return {"message": "Hello, World!"}

Seterusnya, jalankan yang berikut menggunakan baris arahan Perintah untuk mulakan aplikasi FastAPI:

uvicorn main:app --reload

Kini, aplikasi FastAPI kami boleh diakses dan hanya mempunyai satu laluan penghalaan, iaitu laluan akar (/).

2. Laksanakan berbilang laluan penghalaan

Untuk melaksanakan berbilang laluan penghalaan, kami boleh menggunakan penghias yang disediakan oleh FastAPI untuk mencipta fungsi pemprosesan laluan yang berbeza. Berikut ialah contoh yang menunjukkan cara melaksanakan berbilang laluan penghalaan:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def hello_world():
    return {"message": "Hello, World!"}

@app.get("/users")
def get_users():
    return {"message": "Get all users"}

@app.get("/users/{user_id}")
def get_user(user_id: int):
    return {"message": f"Get user {user_id}"}

Dalam contoh di atas, kami telah menambah dua laluan penghalaan baharu: /users dan /users/{user_id}. Laluan

  • /users digunakan untuk mendapatkan maklumat tentang semua pengguna. Laluan
  • /users/{user_id} digunakan untuk mendapatkan maklumat tentang pengguna tertentu berdasarkan ID pengguna.

Dalam dua laluan penghalaan ini, kami menentukan fungsi pemprosesan yang sepadan untuk mengendalikan permintaan mereka. Seperti yang anda lihat, kami menggunakan penghias @app.get() dalam fungsi pemprosesan dan menentukan laluan yang sepadan. Dengan cara ini, apabila permintaan mencapai laluan ini, FastAPI secara automatik akan memanggil fungsi pemprosesan yang sepadan untuk pemprosesan.

3 Uji berbilang laluan penghalaan

Kini, aplikasi kami mempunyai tiga laluan penghalaan: /, /users dan /users/{user_id}. Kami boleh menguji kefungsian laluan penghalaan ini dengan menghantar permintaan HTTP. Berikut ialah beberapa contoh:

  • GET / : Mengembalikan {"message": "Hello, World!"}
  • GET /users : Returns {"message": "Get all users"}
  • GET /users/1 : Kembalikan {"message": "Dapatkan pengguna 1"}

Kami boleh menggunakan alatan seperti Posmen atau curl untuk menguji laluan penghalaan ini untuk mendapatkan hasil respons yang sepadan.

Ringkasan

Melaksanakan berbilang laluan penghalaan dalam FastAPI adalah sangat mudah. Hanya gunakan penghias seperti @app.get() untuk menentukan fungsi pemprosesan laluan yang berbeza untuk melaksanakan pemprosesan permintaan untuk laluan yang berbeza. Contoh di atas menunjukkan cara membuat aplikasi FastAPI dengan cepat dan melaksanakan berbilang laluan penghalaan. Melalui laluan penghalaan ini, kami boleh menambah pelbagai fungsi pada aplikasi kami dan melaksanakan logik perniagaan yang lebih kompleks. Saya harap artikel ini akan membantu anda memahami fungsi laluan berbilang laluan FastAPI.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan berbilang laluan penghalaan dalam FastAPI. 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