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

FastAPI:Swagger UI中无法编辑列表类型Query参数

问题描述

按照FastAPI官方文档中「查询参数列表」的示例编写接口代码,实现了支持多值查询参数的GET接口(如/items?q=1&q=2),代码如下:

from fastapi import FastAPI, Query

app = FastAPI()
@app.get("/items/")
async def read_items(q: list[str] | None = Query(default=None)):
    query_items = {"q": q}
    return query_items

通过pip install "fastapi[all]"安装的FastAPI版本为0.93.0,但在Swagger UI中无法看到该查询参数的编辑表单,无法输入多值参数。

解决办法

方案1:为Query添加explode=True参数

修改代码,在Query参数中指定explode=True,Swagger UI会生成可重复添加的输入框,支持输入多个q参数值:

from fastapi import FastAPI, Query

app = FastAPI()
@app.get("/items/")
async def read_items(q: list[str] | None = Query(default=None, explode=True)):
    query_items = {"q": q}
    return query_items

方案2:升级FastAPI版本

0.93.0属于较早版本,后续FastAPI更新中优化了Swagger UI对多值查询参数的渲染逻辑。执行以下命令升级到最新稳定版即可解决问题,无需修改原有代码:

pip install --upgrade fastapi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 14:47:25