使用 Pydantic 模型的 FastAPI 查询参数
FastAPI query parameter using Pydantic model
我有一个 Pydantic 模型如下
class Student(BaseModel):
name:str
age:int
通过此设置,我希望获得如下 OpenAPI 模式,
那么,如何使用 Pydantic 模型在 FastAPI 中获取 from 查询参数?
你可以这样做,
from fastapi import FastAPI, <b>Depends</b>
from pydantic import BaseModel
app = FastAPI()
class Student(BaseModel):
name: str
age: int
@app.get("/")
def read_root(<b>student: Student = Depends()</b>):
return {"name": student.name, "age": student.age}
此外,请注意查询参数通常是“可选”字段,如果您希望将它们设为可选,请使用Optional
类型提示为,
from fastapi import FastAPI, Depends
<b>from typing import Optional</b>
from pydantic import BaseModel
app = FastAPI()
class Student(BaseModel):
name: str
age: <b>Optional[int]</b>
@app.get("/")
def read_root(student: Student = Depends()):
return {"name": student.name, "age": student.age}
我有一个 Pydantic 模型如下
class Student(BaseModel):
name:str
age:int
通过此设置,我希望获得如下 OpenAPI 模式,
那么,如何使用 Pydantic 模型在 FastAPI 中获取 from 查询参数?
你可以这样做,
from fastapi import FastAPI, <b>Depends</b>
from pydantic import BaseModel
app = FastAPI()
class Student(BaseModel):
name: str
age: int
@app.get("/")
def read_root(<b>student: Student = Depends()</b>):
return {"name": student.name, "age": student.age}
此外,请注意查询参数通常是“可选”字段,如果您希望将它们设为可选,请使用Optional
类型提示为,
from fastapi import FastAPI, Depends
<b>from typing import Optional</b>
from pydantic import BaseModel
app = FastAPI()
class Student(BaseModel):
name: str
age: <b>Optional[int]</b>
@app.get("/")
def read_root(student: Student = Depends()):
return {"name": student.name, "age": student.age}