Django
和 Flask
一直都是 Python
开发 Web
的首选,而 Flask
的微内核更适用于现在的云原生微服务框架。但是 Flask
只是一个微型的 Web
引擎,所以我们需要扩展 Flask
使其发挥出更强悍的功能。
Flask-RESTful
就是 Flask
扩展中的佼佼者,它增加了对快速构建 RESTful API
的支持,将 Flask
封装了一层,使其更容易、更快速、更便捷的开发 RESTful API
。
我们知道 Flask-RESTful
是 Flask
的扩展,而 Flask-RESTPlus
则是 Flask-RESTful
的扩展,对 Flask-RESTful
完全兼容且对其进行增强了接口文档的支持。
Flask-RESTPlus
提供了一个连贯的装饰器和工具集合来描述文档 API
所需要的参数和对象,并使用 Swagger
将其解析成正确的接口文档。
既然已经有了很完美的 Flask-RESTPlus
,那为什么还需要 Flask-RESTX
呢?
其实在很长时间中我都一直都在使用 Flask-RESTPlus
,但是难受的是作者丢了!没错,就是物理意义上的丢了,Flask-RESTPlus
这个项目团队的成员都找不动他了,团队为了持续维护这个项目只能另开一个分支,将 Flask-RESTPlus
继续延续下去,继续延续后的项目就是 Flask-RESTX
。
Flask-RESTX
完全兼容 Flask-RESTPlus
,Flask-RESTPlus
项目里积攒的问题、BUG
都由 Flask-RESTX
完全继承并且社区团队在积极维护汇总,我们公司的项目也已全部迁移过来了,在此也希望这个项目能一直好好活着。
本来到 Flask-RESTX
本文就该结束了,但是我们不能故步自封,就在查这些 Flask
相关资料的时候,发现了一个新式的 Python Web
框架 FastAPI
。
FastAPI
是独立于 Flask
的新式 Web
框架,虽然能看到很多 Flask
和相关扩展的影子,但是它也成为不可忽视的 Web
框架之一,而且 FastAPI
还号称是最快的Python框架之一。
至于是否会使用 FastAPI
,我目前只作为参考,以为公司的项目迁移起来代价太大,大家有兴趣的可以去官网看看。