fastapi接收headers模型

def as_header(cls):
    """decorator for pydantic model
    replaces the Signature of the parameters of the pydantic model with `Header`
    """
    cls.__signature__ = cls.__signature__.replace(
        parameters=[
            arg.replace(
                default=Header() if arg.default is arg.empty else Header(arg.default)
            )
            for arg in cls.__signature__.parameters.values()
        ]
    )
    return cls


@as_header
class Headers(BaseModel):
    timeStamp: int = 0
    sign: str = ""


def add(item: Body, headers: Headers = Depends(Headers)):
    pass

参考:https://github.com/fastapi/fastapi/discussions/6902


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注