- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 fastapi 并具有返回创建的 JSONResponse 的函数。我的目标是创建自定义 200 响应并将其放入具有预期 BaseModel 的 Pydantic parse_obj_as
。
有没有办法取回 JSONResponse 数据?或者有什么解决方法?谢谢!
from starlette.responses import JSONResponse
def func():
model_id = 0
resp = JSONResponse(
{"detail": f"Model {model_id} created", "HTTPStatusCode": 200},
status_code=200,
)
return parse_obj_as(<here I need resp data>, MyBaseModel)
基础模型:
from pydantic.types import PositiveInt
from __future__ import annotations, generator_stop
from pydantic import BaseModel
class MyBaseModel(BaseModel):
"""
Docstring
"""
detail: str
HTTPStatusCode: PositiveInt
最佳答案
parse_obj_as
需要字典输入。响应对象的主体可通过 response.body
访问。并且您需要通过调用 json.loads()
将字节类型的正文转换为字典。
import json
from pydantic.types import PositiveInt
from starlette.responses import JSONResponse
from pydantic import BaseModel, parse_obj_as
class MyBaseModel(BaseModel):
"""
Docstring
"""
detail: str
HTTPStatusCode: PositiveInt
def func():
model_id = 0
resp = JSONResponse(
{"detail": f"Model {model_id} created", "HTTPStatusCode": 200}, status_code=200,
)
return parse_obj_as(MyBaseModel, json.loads(resp.body))
ret = func()
这是返回值:
detail='Model 0 created' HTTPStatusCode=200
关于python - Starlette JSONResponse 到 Pydantic parse_obj_as,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67381171/
我正在使用 Pydantic 为对象建模。如何使两个字段互斥? 例如,如果我有以下模型: class MyModel(pydantic.BaseModel): a: typing.Option
我正在使用 Pydantic 为对象建模。如何使两个字段互斥? 例如,如果我有以下模型: class MyModel(pydantic.BaseModel): a: typing.Option
在前面随笔《基于SqlAlchemy+Pydantic+FastApi的Python开发框架 》中介绍了框架总体的内容,其中主要的理念就是通过抽象接口的方式,实现代码的重用,提高开发效率。本
随着大环境的跨平台需求越来越多,对与开发环境和实际运行环境都有跨平台的需求,Python开发和部署上都是跨平台的,本篇随笔介绍基于SqlAlchemy+Pydantic+FastApi的Python开
下面代码来自官方FastAPI tutorials page ,我无法理解这些语句(例如,name: str)。 from typing import Optional from fastapi im
我在 Pydantic 中有一个嵌套模型。我在外部模型中有一个 root_validator 函数。我的印象是,如果调用外部根验证器,则内部模型有效。但显然不是。在下面的 MWE 中,我为内部模型提供
目前,我正在尝试为 Pandas 数据框创建一个 pydantic 模型。我想通过以下检查列是否唯一 import pandas as pd from typing import List from
我想将日期的 json 输入验证为 pydantic 类,接下来,简单地将文件注入(inject) Mongo。 带有日期类型的简单类 class CustomerBase(BaseModel):
我有以下模型 class Window(BaseModel): size: tuple[int, int] 我想像这样实例化它: fields = {'size': '1920x1080'}
我的问题很简单,令我惊讶的是到目前为止还没有人问过它: 我如何在 pydantic 中验证日期? 例如,我只想接受 1980.1.1-2000.1.1 范围内的日期。 最佳答案 validator d
是否可以为不可变 Pydantic Models 传递函数 setter ? . 例如: from uuid import uuid4, UUID from pydantic import BaseM
我正在尝试删除名字和姓氏字段以及电子邮件字段上的空格。我无法让它工作。 from pydantic import BaseModel, UUID4, SecretStr, EmailStr, cons
来自 pydantic docs我明白这一点: import pydantic class User(pydantic.BaseModel): id: int name: str cl
我试图将类中的一个字段限制为枚举。但是,当我尝试从类中获取字典时,它不会转换为字符串。相反,它保留了枚举。我查了 pydantic documentation ,但找不到与我的问题相关的任何内容。 这
我想根据特定条件动态分配字段数据类型。以下是我的模型: class Connection(BaseModel): name: str # type can be GCS or ORAC
我尝试按如下方式使用 Pydantic: from pydantic import BaseModel class A(BaseModel): prop1: str prop2: str cl
我遵循定义的 pydantic 模型。当我运行 p = IntOrStr(value=True) 时,我预计会失败,因为 True 是 bool 值,它应该会导致对 __int 和 __str cla
我遵循定义的 pydantic 模型。当我运行 p = IntOrStr(value=True) 时,我预计会失败,因为 True 是 bool 值,它应该会导致对 __int 和 __str cla
当我想使用 attr 库忽略某些字段时,我可以使用 repr=False 选项。 但是我在 pydantic 中找不到类似的选项 请看示例代码 import typing import attr fr
Pydantic 在将模型传递给另一个模型的构造函数时复制模型。这失败了: from pydantic import BaseModel class Child(BaseModel): pas
我是一名优秀的程序员,十分优秀!