yuruotong1 / autoMate

318 stars 77 forks source link

👑 [Feature Request]从 Flask 迁移到 FastAPI #26

Open linkedlist771 opened 2 months ago

linkedlist771 commented 2 months ago

🥰 需求描述

将现有的 Flask 后端迁移到 FastAPI 框架。这个变更的目的是利用 FastAPI 的优势,如:

🧐 解决方案

  1. 评估当前 Flask 应用结构
  2. 设计 FastAPI 迁移计划
  3. 逐步将 Flask 路由转换为 FastAPI 路径操作
  4. 利用 Pydantic 模型进行数据验证
  5. 实现依赖注入系统
  6. 配置 FastAPI 的异步特性(如果需要)
  7. 更新数据库连接(如果适用)
  8. 迁移测试套件
  9. 更新部署流程
  10. 进行性能测试和优化
  11. 团队协作:利用您提供的帮助,分配任务并定期同步进度
graph TD
    A[评估当前Flask应用] --> B[设计FastAPI迁移计划]
    B --> C[任务分配和团队协作]
    C --> D[转换路由]
    D --> E[实现Pydantic模型]
    E --> F[配置依赖注入]
    F --> G[启用异步特性]
    G --> H[更新数据库连接]
    H --> I[迁移测试]
    I --> J[更新部署流程]
    J --> K[性能测试和优化]
    K --> L[最终审查和上线]
    C -.-> M[定期进度同步]
    M -.-> C

🚑 其他信息

在进行迁移时,需要注意以下几点:

  1. 确保团队成员熟悉 FastAPI 的概念和最佳实践。
  2. 考虑是否需要保持向后兼容性,或者是否可以完全重写 API。
  3. 评估现有的第三方扩展是否有 FastAPI 等效替代品。
  4. 更新 API 文档,利用 FastAPI 的自动文档生成功能。

    PS: 如果maintainer需要,我可以提供帮助, 我对fastapi比较熟悉

yuruotong1 commented 2 months ago

但感觉迁移的话对用户影响不大

phil616 commented 2 months ago

如果这个迁移到FastAPI的方案通过,我也可加入

yuruotong1 commented 2 months ago

如果这个迁移到FastAPI的方案通过,我也可加入

有几个问题需要给出答案:

  1. 这么做能为用户带来什么更好的体验?
  2. 团队成员是否更熟悉fastapi?相比于flask来说?
  3. 对已有项目变更是否会引入更大的风险?
phil616 commented 2 months ago

如果这个迁移到FastAPI的方案通过,我也可加入

如果这个迁移到FastAPI的方案通过,我也可加入

有几个问题需要给出答案:

  1. 这么做能为用户带来什么更好的体验?
  2. 团队成员是否更熟悉fastapi?相比于flask来说?
  3. 对已有项目变更是否会引入更大的风险?
  1. 首先对于用户的体验而言是无感的,用户感知不到后端的处理过程。
  2. flask框架更加侧重于Web服务,大模型领域开发者使用FastAPI更加常见。
  3. flask与FastAPI均属于Python Web比较成熟的应用,风险暂时无法评估。

若审核团队无法确定技术选型,我建议在原型开发完成后形成接口文档,flask和FastAPI同时进行开发,根据语言无关的接口文档来进行稳定性测试等,依据相关数据再进行评估。

yuruotong1 commented 2 months ago

如果这个迁移到FastAPI的方案通过,我也可加入

如果这个迁移到FastAPI的方案通过,我也可加入

有几个问题需要给出答案:

  1. 这么做能为用户带来什么更好的体验?
  2. 团队成员是否更熟悉fastapi?相比于flask来说?
  3. 对已有项目变更是否会引入更大的风险?
  1. 首先对于用户的体验而言是无感的,用户感知不到后端的处理过程。
  2. flask框架更加侧重于Web服务,大模型领域开发者使用FastAPI更加常见。
  3. flask与FastAPI均属于Python Web比较成熟的应用,风险暂时无法评估。

若审核团队无法确定技术选型,我建议在原型开发完成后形成接口文档,flask和FastAPI同时进行开发,根据语言无关的接口文档来进行稳定性测试等,依据相关数据再进行评估。

没问题,我们先解决用户关心的几个问题,然后再来考虑框架选型。

21jhf commented 1 month ago

支持迁移到fastAPI,项目前期迁移,风险不大