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

FastAPI的Query参数是否支持设置别名(如首字母缩写或自定义别名)?

FastAPI Query参数别名设置说明

FastAPI的Query参数完全支持设置自定义别名,不管是首字母缩写还是其他自定义名称都能实现,核心是通过Query类的alias参数来指定。

修改后的示例代码

针对你提供的代码,调整后支持别名的版本如下:

from fastapi import FastAPI, Query

app = FastAPI()

@app.get("/test")
async def test(
    order: str = Query(..., min_length=10, alias="o"), 
    quantity: int = Query(..., alias="q")
):
    return {"order": order, "quantity": quantity}

关键说明

  • 给order参数指定alias="o",请求时用o作为URL参数名,代码内部仍用order变量接收值
  • 给quantity参数指定alias="q",请求时用q,代码内部用quantity
  • 原代码中quantity未标记必填或设置默认值,这里补充Query(...)确保参数必填;另外原代码的return q是未定义变量,修正为返回对应参数值

示例请求验证

使用你提供的URL请求:
http://zzzz/test?o=1234567890&q=20
接口会正确解析参数,返回结果:

{"order": "1234567890", "quantity": 20}

额外提示

如果需要让原参数名失效(仅允许用别名访问),可以添加deprecated=True参数,示例:

order: str = Query(..., min_length=10, alias="o", deprecated=True)

这样当用户用原参数名order请求时,FastAPI会在接口文档中标记该参数已弃用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:01:09