Python 官方文档:入门教程 => 点击学习
目录可选查询参数必选查询参数可选和必选参数共存为可选参数做类型提示前言: 在fastapi中,我们定义的查询参数是可以设置成:必选参数 or 可选参数。 可选查询参数 只要给查询参数
前言:
在fastapi中,我们定义的查询参数是可以设置成:必选参数 or 可选参数。
None
,表示该查询参数是可选参数。 from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: str, q=None):
data = {"item_id": item_id}
if q:
data["q"] = q
return data
补充:此时路径操作函数内的参数有两个,一个是路径参数
item_id
,一个是查询参数q
,fastapi是可以区分他们的。
None
。needy
是类型为 str
的必需查询参数。 from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_user_item(item_id: str, needy: str):
item = {"item_id": item_id, "needy": needy}
return item
needy
,则报错 {
"detail": [
{
"loc": [
"query",
"needy"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
itme_id
是路径参数,needy
是必选路径参数,skip
是有默认值必选查询参数,limit
是可选查询参数。 from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_user_item(
item_id: str, needy: str, skip: int = 0, limit=None
):
item = {"item_id": item_id, "needy": needy, "skip": skip, "limit": limit}
return item
q
,如有该参数时,他的类型是整型,此时定义类型提示如下typing
模块下的UNIOn
做类型提示,Union[int, None]
表示类型是int
或者None
Http://127.0.0.1:8000/items/12?q=12
,参数q
就会自动转化为数字12 from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: str, q: Union[int, None] = None):
data = {"item_id": item_id}
if q:
data["q"] = q
return data
补充1:
typing.Union
更加方便的类型:typing.Optional
Optional[X] is equivalent to Union[X, None]
q: Optional[int] = None
\补充2:
None
就表示它是可选查询参数,和类型提示无关。到此这篇关于python中fastapi设置查询参数可选或必选的文章就介绍到这了,更多相关Python fastapi 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: python中fastapi设置查询参数可选或必选
本文链接: https://lsjlt.com/news/118529.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0