用 Python FastAPI 框架快速建立现代 API
前言
使用 Python 的众多重要原因之一是 Python 有大量成熟和稳定的库可供选择。例如,Django 和 Flask 提供了很好的网络开发体验和大量的有用文档。
FastAPI 是一个快速、轻量级的现代 API,与其他基于 Python 的 Web 框架(如 Flask 和 Django )相比,有一个更容易的学习曲线。FastAPI 相对较新,但它有一个不断增长的社区。它被广泛地用于构建网络 API 和部署机器学习模型。
最近,Python 生态系统在 Python 3+ 中才有的新特性的推动下出现了令人兴奋的发展,比如协程和 optional typing 。这个库和框架的新时代承诺了更高的速度和开发的便利性,使 Python、Go和 Rust 这样的新语言并驾齐驱,同时保持了使 Python 如此受欢迎的核心体验。
FastAPI 是一个用于开发网络 API 的新的 Python 框架,在过去几年中得到了普及。如果你打算使用 Python 进行网络开发,熟悉 FastAPI 将对你有好处。
在本教程中,你将使用 FastAPI 为一个远程工作地点的数据库建立一个 API。
在这篇文章中,你将:
- 从头开始创建一个新的 FastAPI 项目。
- 创建一个 API,让同伴提交远程工作地点。
- 使用 ORM 将应用程序的数据保存到一个真正的数据库。
准备好建立你的工具,为你的同伴找到最好的远程工作地点,并在此过程中学习使用现代 Python FastAPI 库。
安装 FastAPI
python -m pip install fastapi uvicorn[standard]
有了这些,你已经安装了 FastAPI 和 Uvicorn,并准备学习如何使用它们。FastAPI 是你用来建立你的 API 的框架,而 Uvicorn 是使用你建立的 API 来服务请求的服务器。有了这些,你已经安装了 FastAPI 和 Uvicorn,并准备学习如何使用它们。FastAPI 是你用来建立你的 API 的框架,而 Uvicorn 是使用你建立的API来服务请求的服务器。
创建项目
首先,在 Python 项目中创建一个新的文件夹,然后创建一个新的虚拟环境:
mkdir fastnomads
cd fashnomads
python3 -m venv env/
这将确保我们安装的 Python 包与项目保持隔离。
激活虚拟环境
source env/bin/activate
现在你可以安装 FastAPI 和 uvicorn,一个 ASGI 服务器。
pip install fastapi uvicorn
开始 HelloWorld 项目
在你深入研究 shops
和库之前,你应该在 FastAPI 中建立并运行传统的 "Hello World "应用程序。这可以让你证明你的初始设置是正常工作的。
打开你喜欢的编辑器,把下面的代码粘贴到一个叫做 main.py
的文件中。你将在剩余的开发过程中使用这个文件。
from fastapi import FastAPI, Depends
app = FastAPI()
@app.get('/')
async def root():
return {'message': 'Hello World!'}
这五行代码中,你已经创建了一个工作的 API 。如果你曾经使用过 Flask ,这看起来应该非常熟悉。
-
路由
@app.get('/')
: 它告诉 FastAPI,当用户请求/路径时,应该运行以下方法。 -
方法定义
async def root()
: 注意这个异步定义,这个方法将作为一个 Python3 coroutine 运行。如果你想了解更多关于并发性和 async 的信息,FastAPI 本身对整个事情有一个很好的解释,以及是什么让它如此快速。
最后是返回语句,我们将数据发送到浏览器。
return {'message': 'Hello World!'}
正如你所期望的,访问这个端点将返回一个与上述字典相匹配的JSON响应。
最后,说得够多了,运行服务器看看它的运行情况吧!
uvicorn main:app --reload
说了这么多,可以运行http://127.0.0.1:8000/docs
,运行这个服务器:
{ "message": "Hello World!" }
注意这个异步定义:这个方法将作为一个Python3 coroutine运行。如果你想了解更多关于并发性和async的信息,FastAPI本身对整个事情有一个很好的解释,以及是什么让它如此快速。
最后是返回语句,我们将数据发送到浏览器。
灵感来源:
- 点赞
- 收藏
- 关注作者
评论(0)