FastAPI中设置include_in_schema=False仍无法隐藏Pydantic模型
解决FastAPI中Pydantic模型无法从OpenAPI文档隐藏的问题
你当前的问题核心是include_in_schema=False的设置位置错误——它应该直接定义在Pydantic模型的Config类中,而非嵌套在json_schema_extra字典里。
修正后的模型代码
from pydantic import BaseModel, Field class CardBalanceRequest(BaseModel): card_no: str = Field(..., example="1234567890123456") client_id: str = Field(..., example="1234") class Config: include_in_schema = False # 直接在此处设置,而非json_schema_extra内部 json_schema_extra = { # 其他额外配置可保留在此 }
额外注意事项
如果该模型被路由直接用作请求体或response_model类型,即使设置了include_in_schema=False,FastAPI仍可能将其纳入文档。这种情况下可尝试:
- 对响应模型,改用
Union[YourModel, None]并配合response_model_exclude_none=True - 创建仅用于内部逻辑的私有模型,对外暴露简化版模型
内容的提问来源于stack exchange,提问作者Akram Hossain Rahat
相关产品推荐
相关产品推荐

