FastAPI, Query限制参数的长度,默认值等

查询参数和字符串校验
提供了该参数,则该参数值不能超过50个字符的长度
将 Query 用作查询参数的默认值,并将它的 max_length 参数设置为 50:
q: str = Query(None, max_length=50)

添加正则表达式
你可以定义一个参数值必须匹配的正则表达式:regex=“^fixedquery$”

from typing import Optional

from fastapi import FastAPI, Query

app = FastAPI()


@app.get("/items/")
async def read_items(
    q: Optional[str] = Query(None, min_length=3, max_length=50, regex="^fixedquery$")#regex正则查询,精确值查询
):
    results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
    if q:
        results.update({"q": q})
    return results

这个指定的正则表达式通过以下规则检查接收到的参数值:

^:以该符号之后的字符开头,符号之前没有字符。
fixedquery: 值精确地等于 fixedquery。
$: 到此结束,在 fixedquery 之后没有更多字符。

默认值
你可以向 Query 的第一个参数传入 None 用作查询参数的默认值,以同样的方式你也可以传递其他默认值。

假设你想要声明查询参数 q,使其 min_length 为 3,并且默认值为 fixedquery:

from fastapi import FastAPI, Query

app = FastAPI()


@app.get("/items/")
async def read_items(q: str = Query("fixedquery", min_length=3)):
    results = {"items": [{"item_id": "Foo"}, {"item_id": "Bar"}]}
    if q:
        results.update({"q": q})
    return results

https://www.w3cschool.cn/fastapi/fastapi-o6dx3lc6.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值