轻量快速的 Python ASGI uvicorn 框架使用
下载使用
1 | pip install fastapi |
优点
Python 仍缺乏异步的网关协议接口,ASGI 的出现填补了这一空白,现在开始,我们能够使用共同的标准为所有的异步框架来实现一些工具,ASGI 帮助 Python 在 Web 框架上和 Node.JS 及 Golang 相竟争,目标是获得高性能的 IO 密集型任务,ASGI 支持 HTTP2 和 WebSockets,WSGI 是不支持的。
Uvicorn 目前支持 HTTP1.1 和 WebSocket,计划支持 HTTP2
框架使用
启动
- 1.脚本式
1 | uvicorn example:app |
- 2.代码式
1 | import uvicorn |
- 3.整合 FastAPI
1 | import uvicorn |
功能引入
- 1.全局 log
启动文件配置
1 |
|
log 基础配置
1 | import logging |
- 2.全局异常处理
异常类定义
1 | # from rest_framework.exceptions import APIException |
使用
1 |
|
- 3.路由定义
启动文件配置
1 | app.include_router(router=api_router, prefix="/api/v1") |
路由文件配置
1 | from fastapi import APIRouter |
接口定义
1 | from fastapi import APIRouter |
- 4.统一返回值
定义
1 | # -*- coding: utf-8 -*- |
使用
1 |
|