我想在 FastApi 上有一个动态的强制性机构。
我解释 :
from fastapi import FastAPI, Body
from pydantic import BaseModel
app = FastAPI()
class Parameters(BaseModel):
platform: str
country: str
@app.put("/myroute")
async def provision_instance(*, parameters: Parameters = Body(...)):
do_something
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=80)
在这里,我的 body 是在 Parameters 类中手动定义的,有两个属性,平台和国家。未来,这些属性将来自一个配置文件,并且会有两个以上的属性。所以我需要动态地自动创建它们。
例如,在配置文件中,我可以:
---
parameters:
application:
description: "Name of the application"
type: string
platform:
description: "Name of the platform"
type: string
country:
description: "Name of the country"
type: string
在这种情况下,我怎么能在正文中拥有可变数量的参数?我应该找到一种方法为我的参数类提供可变数量的属性吗?