用FastAPI分为3个步骤构建REST API
#网络开发人员 #python #api #休息

本文将探讨使用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,该浏览器应像屏幕摘要中一样给出响应:

Image description

如果我们访问http://127.0.0.1:8000/doc,我们可以获取文档页面:

Image description

最后,我们已经开发并(在本地)使用FastApi的第一个REST API。