本文将探讨使用FastAPI创建REST API的详细教程。 FastAPI是基于Python的框架,可创建REST API。根据他们的文档。
fastapi是一种现代化的快速(高性能),它是一个基于标准Python类型提示,用于使用Python 3.6+构建API的网络框架。
在几个项目中处理FastApi之后,可以说它很快,由于Python 3.6+的异步功能非常快。因此,建议将 python 3.6+与fastapi一起使用。还有其他功能使FastAPI开发人员喜欢。
- 离式API文档。
- 内构建数据验证。
- FastApi提供并发编程。
- 最小的强大代码基础。
为了更好地理解和开发API,我将过程分为3个步骤。我们将以更好的学习和发展来实现每一步。
步骤1:创建虚拟环境
有许多工具可以为Python创建虚拟环境,但我将使用 venv 为本教程。
venv 是创建一个孤立的python环境的轻量级工具。 venv 创建一个文件夹,其中包括Python项目将使用的所有软件包。
首先,为您的项目创建目录。我将从终端创建一个学习目录并将目录更改为它。
$ mkdir learning & cd learning
一旦进入学习目录,我们就可以设置VENV。要设置,我们目录中的虚拟环境运行命令
$ python -m venv environment
上面的命令应在我们的学习目录中创建一个环境目录,该目录将包含我们Python项目的所有软件包。我们已经成功创建了虚拟环境并激活它可以运行命令。
$ source environment/bin/activate
一旦执行命令而没有任何错误消息,应激活环境,我们就可以进行步骤2
步骤2:设置FastApi
在此步骤中,我们将创建第一个API。在创建我们的第一个API之前,让我们在虚拟环境中安装PIP安装FastApi。
$ pip install fastapi
安装了FastAPI库后,我们可以创建一个文件 main.py 。在 main.py 中,让fastapi库
from fastapi import FastApI
导入FastAPI后,我们现在可以创建FastAPI的实例,并将其分配给App变量:
from fastapi import FastApI
app= FastAPI()
应用程序变量是创建所有API的交互的主要点。现在,让我们定义一个路径操作装饰器来定义我们的路线路径和http方法。
from fastapi import FastApI
app= FastAPI()
@app.get('/') #path operation decorator
在上面的代码中,我们正在使用“/path”路径创建一个get请求,以供发布,放置和删除,我们可以使用操作:
@app.post(‘/’)
@app.put(‘/’)
@app.delete(‘/’)
为了提供我们http请求的路径,代码应该看起来像这样:
@app.get('/custom_path')#path操作装饰
一旦实现了路径操作装饰器,我们就可以实现路径操作函数:
from fastapi import FastApI
app= FastAPI()
@app.get('/') #path operation decorator
def root():
return {'message':'Hello world'}
当用户试图向我们的路径提出请求并将其作为响应命令时,root()函数被调用。您还可以返回一个单数值的列表,例如str,int等
我们的 main.py 中的最终代码应为:
from fastapi import FastApI
app= FastAPI()
@app.get('/') #path operation decorator
def root():
return {'message':'Hello world'}
现在,我们创建了第一个API方法,该方法应该足以满足我们的 3个步骤。
第3步:运行服务器
最后,在创建环境并制作第一个API之后,我们必须运行服务器。对于服务器,我们将使用Uvicorn。 Uvicorn是Python的ASGI Web服务器实现。
在使用Uvicorn之前,我们需要在环境中安装它。
$ pip install uvicorn
现在,一旦安装了Uvicorn,我们就可以在终端中使用以下命令启动服务器:
$ uvicorn main:app - reload
让我们分解上述命令以更好地理解。
- Uvicorn是触发Uvicorn Library的关键字
- 应在form path.to.module:instance.path 中指定ASGI应用程序
- 在本地使用时,我们将
--reload
标志用于热重新加载 因此,现在我们已经成功地使用了FastApi。
现在转到浏览器中的http://127.0.0.1:8000
,该浏览器应像屏幕摘要中一样给出响应:
如果我们访问http://127.0.0.1:8000/doc,我们可以获取文档页面:
最后,我们已经开发并(在本地)使用FastApi的第一个REST API。