您能否向我解释一下为什么在FastAPI中可以执行以下操作:
@app.post("/items/v1/cards{sku}")
async def create_item(sku: str):
return {"status":200,"sku":sku} # returns status:200 and sku
但是,像下面给出的带有问号的相同端点不会吗?
@app.post("/items/v1/cards?{sku}")
async def create_item(sku: str):
return {"sku":sku} # returns 404
1条答案
按热度按时间huus2vyu1#
在第一个代码片段中,您将参数定义为Path parameter,并按预期工作。
URL示例:
但是,在第二个中,您试图以错误的方式传递Query parameter。
当你声明其他函数参数时,如果这些参数不是路径参数的一部分,它们会被自动解释为“查询”参数。
因此,您的端点应如下所示:
查询是URL中
?
之后的键值对集,由&
字符分隔。URL示例: