当前位置:网站首页>FastAPI 封装一个通用的response
FastAPI 封装一个通用的response
2022-07-31 12:22:00 【小兜全糖(Cx)】
- 安装依赖包
anyio==3.6.1
fastapi==0.79.0
pydantic==1.9.1
sniffio==1.2.0
starlette==0.19.1
h11==0.13.0
uvicorn==0.18.2
pymongo==4.2.0
- 自定义response类
from fastapi.responses import Response
from bson.json_util import dumps
class CoustomResponse(Response):
def __init__(self, content, msg, status,error=None):
if msg:
content['msg'] = msg
if error:
content['error'] = error
super().__init__(
content=dumps(content),
media_type="application/json",
status_code=status
)
我们只需要在这里将我们的逻辑处理完,并将数据放到content中就可以了
3. demo
from fastapi import FastAPI,status
import uvicorn
from fastapi.responses import Response
from bson.json_util import dumps
class CoustomResponse(Response):
def __init__(self, content, msg, status,error=None):
if msg:
content['msg'] = msg
if error:
content['error'] = error
super().__init__(
content=dumps(content),
media_type="application/json",
status_code=status
)
app = FastAPI(default_response_class=CoustomResponse)
@app.get('/test')
async def test():
return CoustomResponse(content={
"haha":"haha"},msg={
"data":"test"},error=None,status=status.HTTP_200_OK)
if __name__=='__main__':
uvicorn.run('main:app',host='0.0.0.0',port=9999,reload=True)
https://stackoverflow.com/questions/63960879/fastapi-custom-response-class-as-default-response-class
边栏推荐
- 0x80070570文件或目录损坏且无法删除(0x80070091怎么删除)
- 基于verilog的CRC校验(汇总)
- 消息队列面试题(2022最新整理)
- Encapsulation of conversion between Json and objects (Gson)
- busybox之reboot命令流程分析
- Use IN List Population in Your JDBC Application to Avoid Cursor Cache Contention Issues
- JVS应用中心
- kernel syscore
- CWE4.8 -- 2022年危害最大的25种软件安全问题
- MySQL百万数据优化总结 一
猜你喜欢
![LRU缓存[线性表 -> 链表 -> hash定位 -> 双向链表]](/img/ad/dd80541514d6fedde8c730218fdf5a.png)
LRU缓存[线性表 -> 链表 -> hash定位 -> 双向链表]

The 2nd activity of the TOGAF10 Standard Reading Club continues wonderfully, and the highlights will be reviewed!

跨境电商小知识之跨境电商物流定义以及方式讲解

想吃菌子,当然是自己上山找了

系统集成项目管理工程师(软考中级)知识点总结【挣值分析】【关键路径】

串的基本概念与操作

分布式监视 Zabbix 和 Prometheus 到底怎么选?千万别用错了!

小试牛刀—猜数字游戏

Service discovery of kubernetes

kernel syscore
随机推荐
给你一个大厂面试的机会,你能面试上吗?进来看看!
am335x 看门狗驱动&看门狗应用例程序
JVS轻应用的组成与配置
认知—运动康复医疗机器人应用设计
荣耀手机参数写错,客服认为没错
kubernetes之服务发现
Obsidian设置图床
基于C51实现按键控制
Markdown编辑器语法
SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版
使用 Excel 读取 SAP ABAP CDS View 通过 ODBC 暴露出来的数据
Double non-one into bytes!!Pure dry goods sharing
分布式监视 Zabbix 和 Prometheus 到底怎么选?千万别用错了!
基于生物激励神经网络的室内实时激光SLAM控制方法
How does the SAP ABAP OData service support the $filter (filter) operation trial version
建情人节表白网站(超详细过程,包教包会)
CameraToolUnity中两种摄像机的两种观察控制方式
快速学完数据库管理
最近两个月谷歌 ad 掉的厉害
行业案例 | 全面防护 赛宁助力能源工控安全建设