我正在 FastAPI 中完成一个 API,并使用 OpenAPI 文档和 pydantic 来生成文档。我注意到的一件事是,当一个字段是一组模型时,不会保留嵌套模型的层次结构。 下面的例子是我的模型的大致结构。
Class MyModel(BaseModel):
description: str
success: bool
...
Class TopLevel(BaseModel):
message: str
matches: List[MyModel] = Field(
List[MyModel],
description="An array of matches found",
)
但是,在 FastAPI 的文档中,匹配字段仅显示为数组
问题似乎在于:
matches: List[MyModel] = Field(
List[MyModel],
description="An array of matches found",
)
field
中的第一个参数应该是默认值或…
,这表明它是必需参数。
您可以将这些行修改为:
matches: List[MyModel] = Field(
…,
description="An array of matches found",
)