1.路径参数
1.方法中的形参需要和路径参数名保持一致
@app.get("/enum/{city}")
def view_city(city: CityName):
2.对于路径作为路径参数,需要使用path
转义
# file_path: "/etc/conf/nginx.conf"
@app.get("/{file_path:path}/content")
3.路径参数的校验
from fastapi import Path
@users.get("/age/{num}")
def path_params_validate(num: int = Path(..., ge=1, le=80, title="这是你的年龄", description="用户年龄")):
return {"age": num}
2.查询参数
1.参数的可选性
@users.get("/query")
def user_list(page: int, limit: Optional[int] = None):
Optional[int] = None
:选填
page
:没有默认值,所以是必填
2.布尔值的转换
@users.get("/enable")
def enable_user(enable: bool = True):
print(enable)
return enable
http://localhost:8000/users/enable?enable=on
- 具体参见链接
3.查询参数的校验
@users.get("/query/validations")
def query_params_validate(
name: str = Query(..., min_length=1, max_length=6),
hobby_list: List[str] = Query(..., alias="hobby")
):
return name, hobby_list
- 字符串长度适用于中文字符(一个汉字按照一个字符计算)