Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Halaman Tersuai 404 dalam FastAPI?

Bagaimana untuk Membuat Halaman Tersuai 404 dalam FastAPI?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 03:49:02208semak imbas

How to Create a Custom 404 Page in FastAPI?

Bagaimana untuk Mengembalikan Halaman Tersuai 404 Tidak Ditemui Menggunakan FastAPI?

Pengenalan

Apabila membuat aplikasi web, ia adalah penting untuk mengendalikan kod status HTTP dengan sewajarnya. Satu kod status biasa yang mungkin anda temui ialah 404 Not Found, yang menunjukkan bahawa sumber yang diminta tidak dapat ditemui. Artikel ini akan meneroka pelbagai kaedah untuk mengembalikan halaman 404 tersuai menggunakan FastAPI, rangka kerja Python moden untuk membina API web.

Pendekatan Pengendali Pengecualian

FastAPI menyediakan cara yang mudah untuk mengendalikan pengecualian melalui mekanisme pengendalian pengecualiannya. Anda boleh menentukan pengendali tersuai untuk mengendalikan pengecualian 404 dan mengembalikan respons tersuai.

<code class="python">@app.exception_handler(404)
async def not_found_exception_handler(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')</code>

Sebagai alternatif, anda boleh menggunakan parameter exception_handlers kelas FastAPI untuk mendaftarkan pengendali pengecualian global.

<code class="python">async def not_found_error(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')

exception_handlers = {404: not_found_error}
app = FastAPI(exception_handlers=exception_handlers)</code>

Pendekatan Perisian Tengah

Pendekatan lain ialah mencipta perisian tengah yang memintas respons HTTP dan menyemak kod status. Jika kod status ialah 404, middleware boleh mengembalikan respons tersuai sebelum respons sampai kepada klien.

<code class="python">@app.middleware("http")
async def redirect_on_not_found(request: Request, call_next):
    response = await call_next(request)
    if response.status_code == 404:
        return RedirectResponse("https://fastapi.tiangolo.com")
    else:
        return response</code>

Respons Halaman Tersuai

Menggunakan kaedah yang dinyatakan di atas , anda boleh mengembalikan respons ubah hala yang mudah. Walau bagaimanapun, anda juga boleh mencipta halaman 404 yang lebih disesuaikan dengan mentakrifkan templat dan mengembalikan TemplateResponse.

<code class="python">from fastapi.templating import Jinja2Templates

templates = Jinja2Templates(directory='templates')

async def not_found_error(request: Request, exc: HTTPException):
    return templates.TemplateResponse('404.html', {'request': request}, status_code=404)</code>

Dalam direktori templat, buat templat 404.html dengan kandungan yang dikehendaki untuk halaman 404 tersuai anda.

Kesimpulan

Dengan memanfaatkan pengendali pengecualian, perisian tengah atau respons halaman tersuai, anda boleh dengan mudah melaksanakan halaman 404 Not Found tersuai dalam FastAPI. Ini membolehkan anda memberikan pengalaman yang lebih mesra pengguna apabila sumber yang diminta tidak ditemui, meningkatkan keseluruhan pengalaman pengguna aplikasi web anda.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Halaman Tersuai 404 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