> 文章列表 > FastAPI: 极速开发Python Web应用的未来之星

FastAPI: 极速开发Python Web应用的未来之星

FastAPI: 极速开发Python Web应用的未来之星

我在工作中经常使用Flask来开发Web应用。但是随着项目规模的增长,我发现自己需要写越来越多的重复代码,同时Flask并没有提供一个良好的数据验证和文档生成工具。

有一天,我听说了一个名为FastAPI的框架,它被誉为是Python Web框架的“未来之星”,而且还支持异步请求处理,可以极大提高Web应用的性能。于是我决定尝试一下。

在使用FastAPI之后,我深深感受到了它的优势。使用Python的类型提示,可以让代码更加直观易懂,数据验证也变得非常简单。同时,FastAPI提供了自动生成API文档的功能,这对于团队协作和后续的维护非常有帮助。

在实际开发中,FastAPI也证明了它的高性能和易用性,我用它开发了多个Web应用,都得到了很好的反馈和效果。现在,每当有同事问我要推荐一个Python Web框架时,我总是毫不犹豫地推荐FastAPI。

FastAPI是一个现代的、高性能的Python Web框架,它基于Python的类型提示,使用Python3.6及以上版本构建API。它的优点包括:

高性能:FastAPI支持异步请求处理,可以处理高并发场景,而且运行速度非常快,可以和NodeJS和Go相提并论。
快速开发:FastAPI提供了很多现成的功能和工具,可以大大简化代码开发,让开发速度提高约200%至300%。
更少的Bug:FastAPI使用Python的类型提示和数据验证,可以减少40%开发人员容易引发的错误。
直观:FastAPI完美支持编辑器,可以在开发过程中提供自动补全和语法提示等功能,让代码开发更加直观易懂。
简单易用:FastAPI的API设计非常简单明了,使用起来非常方便,并且有很多详细的文档和教程,可以帮助开发者快速上手。
标准化:FastAPI基于并完全兼容API的开发标准:OpenAPI(以前称为Swagger)和JSON Schema,可以更好地进行团队协作和API文档生成。
FastAPI特点:

· 高性能 -FastAPI非常快。它被认为是目前最快的框架之一。它与NodeJS和Go以及Starlette和Pedantic相当。

· 快速编码 -它允许显着提高开发速度。

· 强大的-它有一个写得很好的文档,我们可以通过阅读其文档使用自己的 API 创建生产就绪的 API。

· 直觉的-它的设计是每个人都可以轻松理解,易于使用并提供出色的编辑器支持。

· 更少的错误 -它减少了大约 40% 的诱发错误。

· 插件 -它提供了使用依赖注入创建插件的工具。

· 类型提示 -我们可以使用类型提示进行数据验证和转换。

· 基于标准 -它基于API,OpenAI和JSON模式的开放标准。

· 简单-它很简单,因此我们可以花更少的时间阅读文档。

在 FastAPI 中,开发者可以使用基于 REST 架构风格的 API 来定义和实现 Web API。

FastAPI 结构

FastAPI: 极速开发Python Web应用的未来之星

环境搭建

1、安装 FastAP

pip install fastapi

要求

Python 3.7+

2、安装 Uvicorn

Uvicorn 是一个基于 Python 并使用 ASGI(Asynchronous Server Gateway Interface)协议的高性能Web服务器。ASGI是一个 Python 的异步Web服务器网关协议,它提供了比旧的WSGI协议更高级的异步能力,可以支持异步的HTTP请求和响应。Uvicorn 的主要优点是它可以处理高并发的HTTP连接请求,使用异步I/O的方式实现高效的网络连接处理,同时保持高度的可靠性和稳定性。Uvicorn 可以作为一个独立的Web服务器使用,也可以与其他 ASGI 框架(如FastAPI、Starlette等)一起使用,构建高效、可扩展的Web应用程序。

pip install uvicorn[standard]

在 pip install 命令中,方括号用来表示可选项。在这种情况下,[standard] 表示可选的附加包,可以通过在命令中添加它来安装该包。在这个例子中,[standard] 是用来安装 FastAPI 应用程序所需的附加软件包,包括 Uvicorn 服务器和其它的一些工具和库。这些包通常被称为 FastAPI 的标准依赖项。因此,通过在命令中包含 [standard],可以确保安装 FastAPI 所需的所有依赖项。如果不包括 [standard],则只会安装 FastAPI 包本身,而不会安装其他必要的包。

3、开发工具Pycharm、Sublime、Visual Studio Code等

本课程推荐Visual Studio Code

3.1、安装Visual Studio Code

3.2、安装Python插件

3.3、运行和调试Python程序

  1.   4.第一个Fast API程序
    

1.1、Hello示例代码:

main.py from fastapi import FastAPI

app = FastAPI()

装饰器@app.get(“/”)async def home(): # 路由处理函数

return {"message": "Hello World"} 

1.2、启动应用

在控制台运行如下指令:

uvicorn main:app --reload

· uvicorn:它是一个服务器库。

· main:要启动的脚本文件名。

· app:它是指在main.py文件中创建的FastAPI的对象。

· --reload:代码更改后使服务器重新启动(热部署)。

在浏览器中打开网址http://127.0.0.1:8000/测试

在IDE工具中启动和运行,添加如下代码

if name == “main”:
uvicorn.run(app, host=“0.0.0.0”, port=8000)带有热部署参数代码。

uvicorn.run(“main:app”, host=“0.0.0.0”, port=8000, reload=True)

· app:FastAPI的对象。

· host:服务器主机名,默认是127.0.0.1 (localhost),如果设置0.0.0.0可以在本机之外访问。

· port:主机端口,默认是8000。

· reload:是否支持热部署。

· 1.3 交互式 API 文档与Swagger :

Swagger GUI(Graphical User Interface)是一个 Web 界面,用于显示和操作使用 Swagger 规范编写的 RESTful API(Representational State Transfer Application Programming Interface)。Swagger 是一种 API 规范和工具集,它提供了一种描述 API 的标准格式,以及自动生成 API 文档和客户端代码的工具。

Swagger GUI 可以通过 Web 界面直观地显示和测试 API,提供了方便的 API 调试和交互方式。在 Swagger GUI 中,可以浏览 API 的不同端点和操作,并且可以向这些端点发送请求并查看响应。Swagger GUI 还提供了交互式的文档,以及针对每个端点和操作的请求示例和响应示例。通过 Swagger GUI,开发人员可以更容易地理解和使用 API,同时也可以更快地进行 API 开发和测试。

3、自动生成 API 文档的功能

可以在浏览器中查看 API 文档。这个页面是使用 Swagger UI 生成的,可以交互地浏览 API 的接口、输入参数、响应结果等信息。除了 Swagger UI,FastAPI 还支持 ReDoc 和自定义的文档生成方式。

1、 http://127.0.0.1:8000/docs

2、 http://127.0.0.1:8000/redoc

OK,更多文章敬请其期待。

CSDN学院相关课程:
《Python Web之FastAPI框架实战训练营:老程序员手把d带您学习FastAPI》