快速上手 Python 框架 FastAPI

学习如何使用 FastAPI 构建快速、可扩展的 Web 应用程序。

用 Apifox,节省研发团队的每一分钟

快速上手 Python 框架 FastAPI

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

FastAPI

Python 框架 FastAPI
FastAPI

FastAPI 是一种现代,快速(高性能)的 Web 框架,基于标准Python 类型提示使用 Python 3.6+ 构建 API。

FastAPI 文档

官方文档:https://fastapi.tiangolo.com/

FastAPI 安装

FastAPI 推荐使用 uvicorn 来运行服务,Uvicorn 是基于 uvloop 和 httptools 构建的闪电般快速的 ASGI 服务器。

在终端中执行以下命令:

pip install fastapi 
pip install uvicorn

FastAPI 实践

接口编写

创建一个 .py 文件,并写以下代码

from typing import Optional
 
from fastapi import FastAPI
 
app = FastAPI()
 
 
@app.get("/api/v1/hw")
def read_root():
    return {"Hello": "World"}
 
 
@app.get("api/v1/items/{item_id}")
def read_item(item_id: int):
    return {"item_id": item_id}

静态文件接口

也可以写一个接口,用来获取一个 html

新建一个 .py 文件,编写 Python 代码

新建一个 .py 文件,编写 Python 代码

 # -*- coding:utf-8 -*-
from fastapi import FastAPI, Request
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
import uvicorn

app = FastAPI()

app.mount("/static", StaticFiles(directory="static"), name="static") # 挂载静态文件,指定目录


templates = Jinja2Templates(directory="templates") # 模板目录


@app.get("/api/v1/html/{data}")
async def read_data(request: Request, data: str):
    return templates.TemplateResponse("index.html", {"request": request, "data": data})

if __name__ == '__main__':
    uvicorn.run(app, host="127.0.0.1", port=3006)

index.html 模板如下

  <html>
  <head>
      <title>Python是最好的语言</title>
  </head>
  <body>
      <h1>Python是最好的语言</h1>
      <h1>{{ data }}</h1>
  </body>
  </html>

启动

然后通过命令来进行启动

uvicorn main:app --reload

我们来解析一下这段命令

  • main: 文件main.py
  • app: 创建的启用对象
  • --reload: 热启动,方便代码的开发

启动后会看到终端

Python 框架 FastAPI
终端

接口预览

我们可以在浏览器里打开这两个接口地址试试

  • /api/v1/hw
Python 框架 FastAPI
/api/v1/hw
  • /api/v1/items/{item_id}
Python 框架 FastAPI
/api/v1/items/{item_id}
  • /api/v1/html/{data}
Python 框架 FastAPI
/api/v1/html/{data}

思考

但是,这不是我们想要的,我们开发时肯定接口不会这么简单的~所以我们需要一个 API 工具来进行接口调试!

使用 Apifox 调试 FastAPI

今天我就使用 Apifox 来调试 FastAPI,这是个贼啦好用的 API 工具。

快捷请求是什么?

快捷请求是 Apifox 的功能之一,目的是让开发能快速发送调试自己的接口~

快捷请求创建

两个接口分别是:

  • 创建 /api/v1/hw
Python 框架 FastAPI
创建 /api/v1/hw
  • 创建 /api/v1/items/{item_id}
Python 框架 FastAPI
创建 /api/v1/items/{item_id}
  • 创建 /api/v1/html/{data}
Python 框架 FastAPI
创建 /api/v1/html/{data}

快捷请求保存

可以选择保存为快捷请求,并填入对应信息~

  • /api/v1/hw
Python 框架 FastAPI
/api/v1/hw
  • /api/v1/items/{item_id}
Python 框架 FastAPI
/api/v1/items/{item_id}
  • /api/v1/html/{data}
Python 框架 FastAPI
/api/v1/html/{data}

发送请求

快捷请求创建好了之后,我们可以发送请求,看一下能不能得到我们想要的结果~

  • /api/v1/hw
Python 框架 FastAPI
发送请求 /api/v1/hw
  • /api/v1/items/{item_id}
Python 框架 FastAPI
发送请求 /api/v1/items/{item_id}
  • /api/v1/html/{data}

选择 Preview 就可以看到 html 模板效果

Python 框架 FastAPI
发送请求 /api/v1/html/{data}

总结

FastAPI 在用法上也是非常简单,速度更快,性能更好,容错率更高,整体上更牛逼

今天带大家用 Python 写了几个接口,练习一下 FastAPI,并使用 Apifox 的快捷请求调试了 FastAPI

知识扩展

了解更多 FastAPI 相关使用技巧:

关于 Apifox

Python 框架 FastAPI
Apifox

Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在统一的平台上设计、调试、测试以及协作你的 API,消除了在不同工具之间切换和数据不一致的问题。 简化了你的 API 工作流,并确保了前端、后端和测试人员之间的高效协作,点击免费使用