为啥我的课程架构在 fastAPi 和 swagger 中看起来很糟糕?

Posted

技术标签:

【中文标题】为啥我的课程架构在 fastAPi 和 swagger 中看起来很糟糕?【英文标题】:why does my class schema looks broken in fastAPi and swagger?为什么我的课程架构在 fastAPi 和 swagger 中看起来很糟糕? 【发布时间】:2022-01-23 07:43:09 【问题描述】:

我有 fastAPI 应用程序。使用 python 3.9

我有以下模块

from pydantic import BaseModel

class IdentificationRequest(BaseModel):

    def __init__(self, request_id):
        super().__init__()

        self.request_id = request_id

我的端点看起来像

@router.post("/", response_model=xyz)
def decide(request: IdentificationRequest):

当我查看我的架构时(在文档页面中),架构看起来已损坏

IdentificationRequest

我做错了什么?

【问题讨论】:

【参考方案1】:

你可能需要这个

class IdentificationRequest(BaseModel):
    request_id: str

【讨论】:

我没试过那个版本,我试过 request_id: str = "" 也没有用。 不要覆盖__init__方法,把类中的字段写成类属性

以上是关于为啥我的课程架构在 fastAPi 和 swagger 中看起来很糟糕?的主要内容,如果未能解决你的问题,请参考以下文章

FastAPI(七十七)实战开发《在线课程学习系统》接口开发-- 课程编辑和查看评论

FastAPI(七十五)实战开发《在线课程学习系统》接口开发-- 创建课程

架构 Flask 与 FastAPI

FastAPI(六十八)实战开发《在线课程学习系统》接口开发--用户 个人信息接口开发

FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论

如何在 FastAPI 中将字典列表作为 Body 参数发送?