FastAPI路由函数触发mypy报错:Untyped decorator makes function 'main' untyped
问题原因与解决方法
这个错误是因为mypy无法识别FastAPI路由装饰器的类型注解,导致被装饰的main函数的类型信息被忽略,进而触发了类型检查报错。
解决方法:
安装FastAPI类型补充包(最推荐)
安装专门为FastAPI提供类型支持的types-fastapi包,让mypy能正确识别路由装饰器的类型:pip install types-fastapi升级FastAPI到最新版本
旧版本的FastAPI可能存在类型注解不完善的问题,升级后可能解决报错:pip install --upgrade fastapi临时跳过类型检查(不推荐)
如果以上方法都无法解决,可以使用typing.no_type_check装饰器让mypy跳过对该函数的类型检查,但这会失去类型校验的意义,仅作为临时方案:from typing import no_type_check @app.post("/") @no_type_check def main(body: RequestBody) -> dict[str, object]: pass
内容的提问来源于stack exchange,提问作者galah92
相关产品推荐
相关产品推荐

