FastAPI 是一个高性能的 Python Web 框架,它可以帮助开发者快速构建 API 应用程序。它使用标准 Python 类型检查来确保代码的正确性,并且可以自动生成文档,从而大大减少了开发时间。
本教程将向你展示如何使用 FastAPI 来创建一个 API 应用程序。我们将使用 Python 3.6+ 和 FastAPI 0.60+ 版本来实现这一目标。
首先,我们需要安装 FastAPI 依赖包。你可以使用 pip 工具来安装 FastAPI:
$ pip install fastapi
如果你想要在开发过程中获得最新的功能,你也可以安装 FastAPI 的开发版本:
$ pip install "fastapi[dev]"
在创建应用之前,我们需要创建一个新的目录来存储我们的代码。然后,我们需要在该目录中创建一个名为 app.py 的文件。该文件将包含我们的应用代码。
from fastapi import FastAPI # Import the FastAPI class
app = FastAPI() # Create an instance of the class # Create routes @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}
有了 app.py 文件之后,我们就可以运行该应用了。要运行该应用,请打开命令行界面并运行如下命令:
$ uvicorn app:app --reload< p >上面的命令会在本地 8000 端口上启动一个 HTTP 服务器来处理请求。你也可以使用不同的端口来运行该服务器: p >< pre >$ uvicorn app:app --reload --port 8001 pre >< p >此外,你也可以使用不同的 IP 地址来运行请求处理服务器 : p >< pre >$ uvicorn app:app --reload --host 0 .0 .0 .0 pre >< h2 >4. 访问 API h2 >< p >当 HTTP 服务器启动之后,你就可以通过浏览器访问 API 了。例如 : http://localhost:8000/items/123?q=somequery 会显示如下内容 : { "item_id" : 123 , "q" : "somequery" } p >< h2 >5. 测试 API h2 >< p >FastAPI 还提供了一个内置测试工具来帮助开发者测试 API (即 testclient )。 testclient 是一个 Python 字典对象 ( dict ) ;因此 ,你可以使用字典方法来测试 API 调用是否正常工作 。例如 : < / p >< pre >response = client . get ( "/items/123?q=somequery" ) assert response [ "item_id" ] == 123 assert response [ "q" ] == "somequery" < / pre >< h2 >6 . 部署应用 < / h2 >< p >都准备好之后 (即代码已写好并测试通过 ) ;就是时候郊郊郊郊郊郊郊郊郊郊郊郊郊 郊 郊 郊 郊 郊 郊 郊 郊 郊 郊 郊 郊 郊 郩 穿上去了 。FastAPI 提供了多钟不同的方法来将应甴上传到生产服务噴上去 。例如 ﹣ Uvicorn、Gunicorn、Hypercorn、Docker、Heroku 等 。 < / p >< h2 >7 . 文档 < / h2 >< p >FastApi 还提供了一套内置文档巴巴去帮助开发者快速生成 API 文档 。文档是重要的因为客户端开始使⒓⒓⒓⒓⒓⒓⒓⒓⒓⒓⒓ ⒓ ⒓ ⒓ ⒓ ⒓ ⒓ ⒗ 甲方必露看看看看看看看看看看看真正执衭执衭执衭执衭执衭执衭执衭执衭执 要怎么调Ⅲ调Ⅲ调Ⅲ调Ⅲ调Ⅲ调Ⅲ调Ⅲ调 API 时必露明明明明明明明明明明明明明明明昏 白地味道味道味道味道味道味道味遦味遦味遦味遦味遦味遦快速生成 API 文档时很重要的因此 FastApi 常常会非常方便地帮助开发者快速生成文档并提供相关信息 。 < / p >< h2 >8 . 结论 < / h2 >< p >FastApi 是一套高性能 Python Web 框架 ﹣实时提供根根根根根根根根根根根根根根根效贵效贵效贵效贵效贵效贵效贵效贵效贵效贵效贵能能能能能能能能能能能能帮助开发者快速创建 Web 应甲方法法法法法法法法法法法法泪水水水水水水水水氿氿氿氿氿氿氿 APP APP APP APP APP APP APP APP APP APP APPPP P P P P P P P P P P PP PP PP PP PP PP PP PP PP PP PP PPPPP PPPP PPPP PPPP PPPP PPPP PPPP PPPP PLPLPLPLPLPLPLPLPLPLPLPL PL PL PL PL PL PL PL PL PL PL PL LLLLLLLLLLLLLL L L L L L L L L L LL LL LL LL LL LL LL LL LL LL LLLLL.
您可以使用StaticFiles.用StaticFiles进口StaticFiles。StaticFiles()在特定路径中“安装”一个实例。from fastapi import FastA...
distribute的前身是setuptools,是一个通常用于分发 Python 库和扩展程序的外部库。它依赖于随 Python 预装的distutils...
Django的管理后台对多数据库没有明显的支持。如果要为路由指定的数据库以外的数据库提供模型的管理界面,你需要编写自定义的 M...
为了完成反向解析URL,你需要像上面那样使用命名URL模式。用于命名URL的字符串可以包含任意字符,并不仅限于Python里合法的命名...
当一个用户上传文件时,Django 会把文件数据传递给 upload handler —— 这是一个很小的类,它用来在上传时处理文件数据。上...
配置模板引擎是通过 TEMPLATES 进行配置。这是一个配置列表,每个引擎都有一个。默认值为空。startproject 命令生成的 ...
在请求阶段,在调用视图之前,Django 按照定义的顺序应用中间件 MIDDLEWARE,自顶向下。你可以把它想象成一个洋葱:每个中间...
让我们通过示例来学习。通过这个教程,我们将带着你创建一个基本的投票应用程序。它将由两部分组成:一个让人们查看和投票的公共...