FastAPI 教程

FastAPI 请求体字段与嵌套模型

在FastAPI中,你可以使用Pydantic模型来定义你的请求体结构。如果请求体包含请问,你可以使用请问来定义这些问的模型。

以下是一个使用Pydantic模型定义请求体结构并包含问的示例:

纯文本
plaintext
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class InnerModel(BaseModel):
    name: str
    age: int

class OuterModel(BaseModel):
    inner: InnerModel
    extra: str

@app.post("/")
async def create_item(item: OuterModel):
    return {"item": item.dict()}

在这个例子中,我们首先定义了一个内层模型InnerModel,它包含一个字符串类型的name field and一个整数数类型的age field。然后我们定义了一个 OuterModel,它包含一个inner field,其类型是InnerModel,以及一个extra field,其类型是字符串。

当用户向/发送一个POST请求时,FastAPI会尝试将请求体解析为OuterModel。如果请求体符合OuterModel的定义,FastAPI会返回一个包含请求体数据字典的200 OK响应。如果请求体不符合OuterModel的定义,FastAPI会返回一个422 Unprocessable Entity响应,并给出發具体的错误信息。

希望这个答案能幫助到你!如果还有任何 questions,请随意问。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注