在fastapi中,默认情况下,同名query参数会被合并成一个列表。例如,请求?source=manual&source=vdna将得到source=['manual', 'vdna']。
如果你希望使用逗号分隔多个query参数的值,有两种方法可以实现。
方法一:声明为字符串类型并手动解析
你可以将参数声明为字符串类型,并在视图函数中手动解析其值:
from fastapi import query source: optional[str] = query(none, description="请用`,`分割多个参数,如`manual,vdna,text-match`") # 在视图函数中解析 parsed_source = source.split(",") if source else []
登录后复制
方法二:使用依赖项进行解析
你还可以创建一个自定义的依赖项来解析逗号分隔的参数:
# 依赖项 async def comma_separated_list(value: str) -> List[str]: return value.split(",") # 在路由函数中使用依赖项 @router.get("/list") async def list_await_review( source: List[str] = Depends(comma_separated_list) ): ...
登录后复制
以上就是FastAPI 中如何解析用逗号分隔的多个 Query 参数?的详细内容,更多请关注抖狐科技其它相关文章!
-
如何使用 JavaScript 获取数组中空元素的数量?
javascript 中获取空元素数量 在 javascript 中,判断单个元素是否为空相对容易,但在某些情况下,我们可能需要获取一组元素中空元素的数量。 解决方案: 使用高阶函数 filter 可...
-
国补 8 折起:一文汇总小米新品 11.11 新低好价,含小米 15 / 小米平板 7 / 手环……
【3C 国补活动随时结束,需以实付款时为准哦】一文汇总小米 2024 年 10 月发布会新品 11.11 大促好价,部分活动随时结束。另外,每日可抽 3 次京东无门槛红包,至高 11111 元 + 可...
-
Token是什么?和Coin有什么区别?如何购买和卖出Token?
token是由区块链技术支持的数字资产,授予持有人对特定商品、服务或资产的权利或访问权限。与加密货币(如比特币)不同,token通常没有固定的价值,而是与发行它们的资产或协议挂钩。token通常代表对...
-
理解后端开发中的责任链设计模式
责任链 (cor) 设计模式是一种强大的行为模式,可以显着增强后端开发。此模式允许您通过处理程序链传递请求,其中每个处理程序可以处理请求或将其传递到下一个处理程序。在本博客中,我们将从后端角度探讨 c...
-
装机后操作系统怎么安装软件
在 linux、macos 和 windows 系统中,安装软件有以下方法:使用软件仓库或商店,如 apt install、app store、微软商店。使用软件包管理器,如 apt-get 或 yu...