python - Pydantic 是否接受具有单值和多值的相同查询?
问题描述
我的架构:
class ArticleBase(Schema):
page: Optional[int] = 1
topic: Optional[List[str]] = Query(None)
路由器:
@api.get("/articles/", tags = ['Articles'])
def article_list(request, article: ArticleBase = Query(...)):
return article
我希望 Pydantic/FastAPI 接受具有单个值和多个值的查询。
我希望他们两个都被接受:
www.example.com/articles/?topic=hello&topic=world
www.example.com/articles/?topic=hello
我怎样才能实现它?
我收到的错误消息:
"msg": "value is not a valid list",
"type": "type_error.list"
解决方案
通过Optional
从我的代码中删除,我设法让它按我想要的方式工作。它接受具有单个值和多个值的查询。
我的工作代码:
class ArticleBase(Schema):
page: Optional[int] = 1
topic: List[str] = Query(None)
不明白为什么是这个原因。也许我从文档中遗漏了一些东西,但仔细阅读并没有找到任何相关的东西。
推荐阅读
- actions-on-google - 具有受限用户访问权限的 GAction
- android - Trip Duration Summary 作为在 Android 中的 Heremaps SDK 上启动 Route 之前的提示消息
- graph - 所有路径之间权重最低的最重边
- laravel - 使用 composer create-project 创建新的 Laravel 项目失败
- adsense - 如何让 AdSense 自动广告与 Gatsby 配合使用
- lua - NodeMCU mqtt led 亮度控制
- excel - Excel 中的 PowerPoint 幻灯片
- c++ - 使用补丁的 C++ 单一运行时条件
- android - androidx迁移后react-native应用程序上的SwipeRefreshLayout错误
- authentication - 如何以编程方式将用户添加到 wso2 密钥管理器?