如何在使用 Pydantic.BaseModel 时访问 fastapi.Request.state

How to access fastapi.Request.state when using Pydantic.BaseModel

我正在尝试创建一个 pydantic BaseModel,它将能够映射来自请求正文和 request.state 的一些数据。

如何实现?

请求元数据不应该是模型的一部分 - 模型应该只关注实际请求(即用户提交的数据)。

要访问有关请求的元数据,请将 Request 对象添加到您的视图定义中:

def my_method(item: Item, request: Request):

这将神奇地为您提供视图函数中 request 变量下的所有元数据(包括 .state 条目)。