You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI路径参数类型支持范围咨询:仅基础类型与path?

FastAPI路径参数类型关联的限制说明

FastAPI在路径装饰器的URL字符串中(如@app.get("/{a:XXX}")这种写法),仅支持以下内置路径转换器对应的类型:

  • 基础类型:int、float、str、bool
  • 特殊类型:path(用于匹配包含斜杠的路径片段)

你遇到的AssertionError: Unknown path convertor 'UUID'错误,核心原因是FastAPI依赖的底层框架Starlette并未内置UUID类型的路径转换器,因此无法直接在URL的参数占位符里使用:UUID语法。

正确使用UUID类型路径参数的方式

无需在URL中指定转换器,直接在视图函数的参数上通过类型注解声明UUID即可,FastAPI会自动完成类型校验与转换:

from fastapi import FastAPI
from uuid import UUID

app = FastAPI()

@app.get("/items/{item_id}")
async def get_item(item_id: UUID):
    return {"item_id": item_id}

当请求路径中的item_id符合UUID格式时,会被自动解析为UUID对象;若格式不符合,FastAPI会直接返回422验证错误响应。

补充说明

FastAPI推荐优先使用类型注解来声明路径参数的类型,这种方式支持更多复杂类型(如datetime.datetime、Pydantic模型等),而路径装饰器中的:type写法仅适用于Starlette内置的有限转换器,并非FastAPI类型系统的主力用法。

内容的提问来源于stack exchange,提问作者user3103957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:02:34