· 约 3 分钟

14-FastAPI基础入门-异常响应处理

  • FastAPI
  • Python

学习目标

核心概念

代码示例

from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse

app = FastAPI()

books = {
    1: {"id": 1, "title": "Python 入门"},
    2: {"id": 2, "title": "FastAPI 实战"},
}


@app.get("/books/{book_id}")
def get_book(book_id: int):
    book = books.get(book_id)
    if book is None:
        raise HTTPException(status_code=404, detail="图书不存在")
    return {"code": 200, "message": "success", "data": book}


@app.exception_handler(HTTPException)
async def http_exception_handler(request, exc: HTTPException):
    return JSONResponse(
        status_code=exc.status_code,
        content={
            "code": exc.status_code,
            "message": exc.detail,
            "data": None,
        },
    )

案例理解

易错点

我的补充