Pra*_*nna 2 python api fastapi
我有一个获取函数,它接受多个查询参数,可能如下所示:
def get(
key: Optional[str] = "key"
value: Optional[str] = "value"
param1: Optional[int] = -1
)
Run Code Online (Sandbox Code Playgroud)
我想要做的是,我想将这些参数定义放在一个单独的变量中。可以做这样的事情吗?
param_definition = { # some struct here, or maybe a Model class
key: Optional[str] = "key"
value: Optional[str] = "value"
param1: Optional[int] = -1
}
def get(*params: param_definition):
...
Run Code Online (Sandbox Code Playgroud)
这可以做到吗?如果没有,是否有类似且更易于维护的事情可以在这里完成?
您可以将 Pydantic 模型与Depends()
类一起使用
from fastapi import FastAPI, Depends
from pydantic import BaseModel
from typing import Optional
app = FastAPI()
class MyParams(BaseModel):
key: Optional[str] = "key"
value: Optional[str] = "value"
param1: Optional[int] = -1
@app.get("/")
def my_get_route(params: MyParams = Depends()):
return params
Run Code Online (Sandbox Code Playgroud)
这还将自动为我们生成API 文档。
参考:使用 Pydantic 模型的 FastAPI 查询参数
归档时间: |
|
查看次数: |
4010 次 |
最近记录: |