Fastapi之路径参数And查询参数

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")
  • 注意点:参数和path之间不能有空格
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
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
  • 字符串长度适用于中文字符(一个汉字按照一个字符计算)
posted @ 2022-06-23 13:46  fatpuffer  阅读(107)  评论(0编辑  收藏  举报