python - FastAPI 端点未接收到发布数据
问题描述
这是端点,目前它是唯一的端点,因为我正在关注 FastAPI 教程。print 语句只打印 {}
.
@app.post('/contact', response_model=schemas.Contact)
def create_contact(contact: schemas.ContactCreate, db: Session = Depends(get_db)):
print(contact)
return crud.create_contact(db=db, contact=contact)
这是schema.py
文件的内容
class ContactBase(BaseModel):
name: str
email: str
subject: str
class ContactCreate(BaseModel):
pass
class Contact(ContactBase):
id: int
class Config:
orm_mode = True
这是端点抛出的错误
响应 -> 主题
none 不是允许的值(type=type_error.none.not_allowed)
这是发布数据
{"name":"bailey","email":"a@a.com","subject":"kjgjhkh"}
我不太确定发生了什么,因为我已经按照 FastAPI 文档上的 SQL 教程进行操作,而且对我来说一切都正确。似乎问题是端点没有从发布请求中接收数据,但我真的不确定为什么,而且它肯定会到达端点。
解决方案
经过仔细检查,ContactCreate
该类继承了错误的类,将其更改为ContactBase
该类,现在它可以工作了。
推荐阅读
- php - 计算特定值并分别显示
- swift - Xcuitest - 我怎样才能等到图像完成加载
- xpath - Orbeon:在另一个自动完成的资源中使用自动完成项集
- perl - 如何在 perlbrew 中显示所有可用的 perls?
- reactjs - 未处理的承诺拒绝错误:a 是一个无效元素标记,既不能有 `children`,也不能使用 `dangerouslySetInnerHTML`
- exchange-server - 使用连字符分隔的资源名称 "/songs-list" 创建 API Notebook 时,会出现错误
- performance - 为什么 log4 (n4) = Θ(log6 (n6))?
- php - 在 laravel 中为每个选定的计数分隔 where 条件
- django - Django 请求中不允许使用 POST 方法
- python - pandas.read_csv 日期解析选项是否已更改?我们如何将 parse_dates 与列的字符串列表一起使用?