首页 > 解决方案 > 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 教程进行操作,而且对我来说一切都正确。似乎问题是端点没有从发布请求中接收数据,但我真的不确定为什么,而且它肯定会到达端点。

标签: pythonapifastapi

解决方案


经过仔细检查,ContactCreate该类继承了错误的类,将其更改为ContactBase该类,现在它可以工作了。


推荐阅读