python-3.x fastapi一个简单的函数greet(*args)sdf

1l5u6lss  于 2023-03-04  发布在  Python
关注(0)|答案(1)|浏览(97)

我有一个简单的函数,它接受任意数量的参数,如下所示:

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'

为什么会发生这种情况,我该如何避免这个错误。提前感谢

a9wyjsp7

a9wyjsp71#

我从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
它工作正常。

相关问题