FastAPI中使用Annotated时Query的min_length规则失效问题求助
问题原因及解决办法
核心原因
你遇到的问题是FastAPI 0.94.1版本的已知兼容性问题——该版本对Annotated结合Query的校验规则支持存在bug,导致min_length这类参数校验无法正常生效。
解决办法
- 升级FastAPI版本:将FastAPI升级到0.95.0及以上版本,这个问题在后续版本中已经被修复。执行以下命令升级:
pip install --upgrade fastapi>=0.95.0 - 临时替代方案(若无法升级):继续使用原有的
str = Query(...)语法,能保证校验规则正常生效。
另外需确认Annotated的导入正确:Python 3.10可直接从typing导入,示例代码如下:
from typing import Annotated from fastapi import FastAPI, Query app = FastAPI() @app.get("/test") async def test(q: Annotated[str, Query(min_length=3)]): return q
内容的提问来源于stack exchange,提问作者tucki
相关产品推荐
相关产品推荐

