From 4cb4afeff052064b282b4596e6ef8aee4acf45bf Mon Sep 17 00:00:00 2001 From: vvanglro <947001731@qq.com> Date: Fri, 4 Nov 2022 17:31:37 +0800 Subject: [PATCH] feat: support cache JSONResponse --- fastapi_cache/coder.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fastapi_cache/coder.py b/fastapi_cache/coder.py index b6cd683..7dd5dfe 100644 --- a/fastapi_cache/coder.py +++ b/fastapi_cache/coder.py @@ -6,6 +6,7 @@ from typing import Any, Dict, Union import pendulum from fastapi.encoders import jsonable_encoder +from starlette.responses import JSONResponse from starlette.templating import _TemplateResponse as TemplateResponse CONVERTERS = { @@ -51,6 +52,8 @@ class Coder: class JsonCoder(Coder): @classmethod def encode(cls, value: Any) -> str: + if isinstance(value, JSONResponse): + return value.body return json.dumps(value, cls=JsonEncoder) @classmethod