FastAPI泛型嵌套响应模型本地文档显示异常,部署后正常的问题求助
FastAPI泛型嵌套响应模型本地文档显示异常,部署后正常的问题求助
大家好,我遇到了一个挺费解的问题,想请大家帮忙分析下原因:
我在FastAPI里定义了一个泛型的成功响应模型,用来包裹其他具体的响应数据。但本地访问localhost:8000/#doc查看API文档时,嵌套的响应模型显示不正确;可当我把本地代码合并部署到服务器后,文档里的响应模型就显示正常了。
先贴一下我的相关代码:
from typing import TypeVar, Generic from pydantic import BaseModel from fastapi import APIRouter T = TypeVar('T') class StandardSuccessResponse(BaseModel, Generic[T]): url: str duration: int response: T class AddClipPhraseResponse(BaseModel): clip_vector: str router = APIRouter() @router.post("/clip/phrases", description="Adds a phrase to the clip server.", tags=["clip"], response_model=StandardSuccessResponse[AddClipPhraseResponse], status_code=201, responses=ApiResponseHandler.listErrors([400, 422, 500, 503])) async def add_clip_phrase(): # 接口逻辑暂略 pass
本地文档里显示的响应模型是这样的:
{ "url": "string", "duration": 0, "response": "string" }
但部署到服务器后,文档里的响应模型就正确显示成了嵌套结构:
{ "url": "string", "duration": 0, "response": { "clip_vector": "string" } }
有没有大佬知道为什么本地和服务器的文档显示会有这种差异呀?
备注:内容来源于stack exchange,提问作者sandridevd
相关产品推荐
相关产品推荐

