Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menyesuaikan Respons Ralat untuk FastAPI

Cara Menyesuaikan Respons Ralat untuk FastAPI

Susan Sarandon
Susan Sarandonasal
2024-10-21 06:25:30627semak imbas

How to Customize Error Responses for FastAPI

Penyesuaian Respons Ralat dalam FastAPI

Dalam FastAPI, apabila permintaan tidak sah ditemui, ia biasanya bertindak balas dengan ralat 422 Entiti Tidak Dapat Diproses. Respons ini mungkin tidak sentiasa sejajar dengan pengalaman pengguna yang diingini. Berikut ialah cara untuk menyesuaikan respons ralat agar sesuai dengan keperluan khusus aplikasi anda.

Respons ralat lalai termasuk butiran seperti "Data tambahan" dan data "Sebenar". Untuk menyesuaikan respons ini, FastAPI menyediakan keupayaan untuk mengatasi pengendali pengecualian pengesahan permintaan. Seperti yang ditunjukkan dalam contoh kod di bawah, anda boleh menentukan pengendali tersuai:

<code class="python">from fastapi import FastAPI, Body, Request, status
from fastapi.encoders import jsonable_encoder
from fastapi.exceptions import RequestValidationError
from fastapi.responses import JSONResponse
from pydantic import BaseModel

app = FastAPI()

@app.exception_handler(RequestValidationError)
async def validation_exception_handler(request: Request, exc: RequestValidationError):
    return JSONResponse(
        status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
        content=jsonable_encoder({
            "detail": exc.errors(),  # optionally include the errors
            "body": exc.body,
            "custom msg": "Your error message"
        }),
    )</code>

Sebagai alternatif, anda boleh mengembalikan PlainTextResponse dengan mesej ralat tersuai:

<code class="python">from fastapi.responses import PlainTextResponse

@app.exception_handler(RequestValidationError)
async def validation_exception_handler(request, exc):
    return PlainTextResponse(str(exc), status_code=422) </code>

Pilihan penyesuaian ini membenarkan anda untuk mengendalikan respons ralat dengan anggun dan memberikan pengalaman yang mesra pengguna walaupun apabila menghadapi permintaan yang tidak sah.

Atas ialah kandungan terperinci Cara Menyesuaikan Respons Ralat untuk 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