本文不对 Flask 与 FastAPI 的各个方面对进行对比,本人兴趣依然还在 FastAPI 的 Swagger UI 功能,以及与 Flask 的 Blueprint 类似的特性。如果要拿 Flask 与 FastAPI 比较的话,应该用 Flask 2x, 因为它开始支持类似 @appget 的装饰器,并引入了 async 路由函数。
Flask 是在 2010 年发布的,它构建于 WSGI(Python Web Server Gateway Interface) 之上的,产品环境中运行需与 uWSGI, Gunicorn 搭配,或用 mod_wsgi 模块与 Apache 集成。因发布较早,所以目前应该有较多的使用者。Flask 20 需要 Python 36+ 的支持,如果支持 async , 需 Python 37+
FastAPI 发布于 2018 年,构建于 ASGI(Asynchronous Server Gateway Interface) 之上,在 IO 密集型的应用中有更优越的性能。生成环境中配合 ASGI 服务器,如 Uvicorn 或 Hypercorn FastAPI 最为亮丽的特性是集成了 Swagger UI -- 外加一个福利 ReDoc 。FastAPI 需 Python 36+ 版本。
毕竟是在开始学一个新的框架,还是从它的基本用法开始,途中会穿插与 Flask 的对比。
安装:
当前安装的 fastapi 版本为 0701, uvicorn 版本为 0160。开始第一个例子,摘自官方
创建一个 mainpy 文件,内容为
注:以上两个函数前面可以加上 async 关键字
启动服务,用命令
注: uvicorn --help 列出详细帮助,如启动多少个 worker, 绑定网络接口和端口号, 配置 SSL 证书等。
访问服务
另一个服务就是 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)