我有一个简单的函数,它接受任意数量的参数,如下所示:
def greet(*args):
a=list(args)
return {"greetings to users:": a}
greet('Aron','Claus')
>>>{'greetings to users:': ['Aron', 'Claus']}
该功能按预期工作。但是当我把路由器装饰器放在函数上时,如下所示:
@router.get("/greet")
def greet(*args):
a=list(args)
return {"greetings to users:": a}
我在swagger端得到一个内部服务器错误,我的命令行给了我以下错误:
TypeError: greet() got an unexpected keyword argument 'args'
为什么会发生这种情况?我该如何避免这种错误。提前感谢
所以我从Fastapi文档中发现了以下内容
from typing import List, Union
from fastapi import FastAPI, Query
app = FastAPI()
@app.get("/items/")
async def read_items(q: Union[List[str], None] = Query(default=None)):
query_items = {"q": q}
return query_items
URL如下所示:http://localhost:8000/items/?q=foo&q=bar
它运行良好。