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: 热启动,方便代码的开发
启动后会看到终端
接口预览
我们可以在浏览器里打开这两个接口地址试试
- /api/v1/hw
- /api/v1/items/{item_id}
- /api/v1/html/{data}
思考
但是,这不是我们想要的,我们开发时肯定接口不会这么简单的~所以我们需要一个 API 工具来进行接口调试!
使用 Apifox 调试 FastAPI
今天我就使用 Apifox 来调试 FastAPI,这是个贼啦好用的 API 工具。
快捷请求是什么?
快捷请求是 Apifox 的功能之一,目的是让开发能快速发送调试自己的接口~
快捷请求创建
两个接口分别是:
- 创建 /api/v1/hw
- 创建 /api/v1/items/{item_id}
- 创建 /api/v1/html/{data}
快捷请求保存
可以选择保存为快捷请求,并填入对应信息~
- /api/v1/hw
- /api/v1/items/{item_id}
- /api/v1/html/{data}
发送请求
快捷请求创建好了之后,我们可以发送请求,看一下能不能得到我们想要的结果~
- /api/v1/hw
- /api/v1/items/{item_id}
- /api/v1/html/{data}
选择 Preview
就可以看到 html 模板效果
总结
FastAPI 在用法上也是非常简单,速度更快,性能更好,容错率更高,整体上更牛逼
今天带大家用 Python 写了几个接口,练习一下 FastAPI,并使用 Apifox 的快捷请求调试了 FastAPI
知识扩展
了解更多 FastAPI 相关使用技巧:
关于 Apifox
Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在统一的平台上设计、调试、测试以及协作你的 API,消除了在不同工具之间切换和数据不一致的问题。 简化了你的 API 工作流,并确保了前端、后端和测试人员之间的高效协作,点击免费使用。