在FastAPI中,可以允许将列表作为Pydantic模型的查询参数而不是请求体,以便于通过URL传递参数。以下是实现这一需求的方法:
Items
的模型,其中包含一个名为items
的列表参数。from typing import List
from pydantic import BaseModel
class Items(BaseModel):
items: List[str]
List[str]
作为参数类型,并将其转换为Items
模型。from fastapi import FastAPI
from fastapi.param_functions import Query
app = FastAPI()
@app.get("/items/")
async def read_items(items: List[str] = Query(...)):
return {"items": items}
在上面的示例中,我们将items
参数作为查询参数添加到/items/
路径中。...
表示该参数是必需的,即不能省略。
/items/?items=item1&items=item2&items=item3
时,FastAPI将会自动将URL中的items
参数值作为列表传递给read_items
函数。以下是一些相关概念和知识:
?
后的键值对形式出现,例如/items/?page=2&limit=10
。...
表示查询参数是必需的,如果请求中没有提供这些参数,则API将返回错误。希望以上内容能够满足您的需求,如果您对特定的概念或产品有更深入的研究需求,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云