从 Flask-RESTful 到 Flask-RESTPlus 再到 Flask-RESTX

DjangoFlask 一直都是 Python 开发 Web 的首选,而 Flask 的微内核更适用于现在的云原生微服务框架。但是 Flask 只是一个微型的 Web 引擎,所以我们需要扩展 Flask 使其发挥出更强悍的功能。

Flask-RESTful

Flask-RESTful 就是 Flask 扩展中的佼佼者,它增加了对快速构建 RESTful API 的支持,将 Flask 封装了一层,使其更容易、更快速、更便捷的开发 RESTful API

  • GitHub:https://github.com/flask-restful/flask-restful
  • Docs:https://flask-restful.readthedocs.io/en/latest/

Flask-RESTPlus

我们知道 Flask-RESTfulFlask 的扩展,而 Flask-RESTPlus 则是 Flask-RESTful 的扩展,对 Flask-RESTful 完全兼容且对其进行增强了接口文档的支持。

Flask-RESTPlus 提供了一个连贯的装饰器和工具集合来描述文档 API 所需要的参数和对象,并使用 Swagger 将其解析成正确的接口文档。

  • GitHub:https://github.com/noirbizarre/flask-restplus
  • Docs:https://flask-restplus.readthedocs.io/en/latest/

Flask-RESTX

既然已经有了很完美的 Flask-RESTPlus,那为什么还需要 Flask-RESTX 呢?

其实在很长时间中我都一直都在使用 Flask-RESTPlus,但是难受的是作者丢了!没错,就是物理意义上的丢了,Flask-RESTPlus 这个项目团队的成员都找不动他了,团队为了持续维护这个项目只能另开一个分支,将 Flask-RESTPlus 继续延续下去,继续延续后的项目就是 Flask-RESTX
从 Flask-RESTful 到 Flask-RESTPlus 再到 Flask-RESTX_第1张图片
Flask-RESTX 完全兼容 Flask-RESTPlusFlask-RESTPlus 项目里积攒的问题、BUG 都由 Flask-RESTX 完全继承并且社区团队在积极维护汇总,我们公司的项目也已全部迁移过来了,在此也希望这个项目能一直好好活着。

  • GitHub:https://github.com/python-restx/flask-restx
  • Docs:https://flask-restx.readthedocs.io/en/latest/

FastAPI

本来到 Flask-RESTX 本文就该结束了,但是我们不能故步自封,就在查这些 Flask 相关资料的时候,发现了一个新式的 Python Web 框架 FastAPI

FastAPI 是独立于 Flask 的新式 Web 框架,虽然能看到很多 Flask 和相关扩展的影子,但是它也成为不可忽视的 Web 框架之一,而且 FastAPI 还号称是最快的Python框架之一。

至于是否会使用 FastAPI,我目前只作为参考,以为公司的项目迁移起来代价太大,大家有兴趣的可以去官网看看。

  • GitHub:https://github.com/tiangolo/fastapi
  • Docs:https://fastapi.tiangolo.com

你可能感兴趣的:(#,Python,flask,restful,python)