Rumah > pembangunan bahagian belakang > Tutorial Python > Cara Menyesuaikan Respons Ralat untuk FastAPI

Cara Menyesuaikan Respons Ralat untuk FastAPI

Susan Sarandon
Lepaskan: 2024-10-21 06:25:30
asal
751 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan