FastAPI(49)- 自定义响应之 ORJSONResponse、UJSONResponse

简介: FastAPI(49)- 自定义响应之 ORJSONResponse、UJSONResponse

更多自定义响应类型


 

ORJSONResponse


作用

  • 如果需要提高性能,可以安装并使用 orjson,并将响应设置为 ORJSONResponse
  • 官方介绍:快速、正确的 Python JSON 库,支持 dataclass、datetime、numpy
  • 注意:仅在 FastAPI 才支持 ORJSONResponse,Starlette 并没有它

pip install orjson

 

response_class

可以在路径操作装饰器上声明 response_class=Response ,然后最终返回的响应数据的类型就是声明的 Response

 

实际代码

from fastapi import FastAPI
from fastapi.responses import ORJSONResponse
app = FastAPI()
# 声明返回的 Response 类型
@app.get("/item", response_class=ORJSONResponse)
async def get_item():
    return [{"item_id": "Foo"}]


  • response_class 将用于定义响应的 media_type
  • 上面的栗子中,Response Header 的 Content-type 将为 application/json,并且会记录在 OpenAPI 中

 

查看 Swagger API 文档的 Response Header

image.png


请求结果

image.png


源码

image.png

用的是 orjson 的 dumps() 方法

 

UJSONResponse


和 ORJSONResponse 一样的用法,更推荐用 orjson 代替 ujson

image.png


相关文章
|
数据库
FastAPI(53)- Response Headers 响应设置 Headers
FastAPI(53)- Response Headers 响应设置 Headers
472 0
FastAPI(53)- Response Headers 响应设置 Headers
|
9月前
|
JSON NoSQL API
全面拥抱 FastApi — 响应模型
全面拥抱 FastApi — 响应模型
|
XML 数据格式
FastAPI(47)- 通过 Response 自定义响应的类型
FastAPI(47)- 通过 Response 自定义响应的类型
258 0
FastAPI(47)- 通过 Response 自定义响应的类型
|
JavaScript API 网络安全
FastAPI(52)- Response Cookies 响应设置 Cookies
FastAPI(52)- Response Cookies 响应设置 Cookies
331 0
FastAPI(52)- Response Cookies 响应设置 Cookies
|
存储
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
829 0
FastAPI(51)- 自定义响应之 StreamingResponse、FileResponse
FastAPI(50)- 自定义响应之 RedirectResponse
FastAPI(50)- 自定义响应之 RedirectResponse
288 0
FastAPI(50)- 自定义响应之 RedirectResponse
|
JSON API 数据格式
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
220 0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (下)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
350 0
FastAPI(48)- 自定义响应之 HTMLResponse、PlainTextResponse (上)
|
JSON 数据格式 Python
FastAPI(45)- 返回响应数据的五种常见方式
FastAPI(45)- 返回响应数据的五种常见方式
1031 0
FastAPI(45)- 返回响应数据的五种常见方式
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)