From bb9356d8a95fe440f2f23e34b0c601de09a6d01c Mon Sep 17 00:00:00 2001 From: Jonathan Takahashi Date: Fri, 17 Apr 2020 00:01:31 +0000 Subject: [PATCH 1/3] Use request.data to avoid drf error about accessing body --- openapi_core/contrib/django/requests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi_core/contrib/django/requests.py b/openapi_core/contrib/django/requests.py index 5e4e3a9a..326c0699 100644 --- a/openapi_core/contrib/django/requests.py +++ b/openapi_core/contrib/django/requests.py @@ -48,6 +48,6 @@ def create(cls, request): full_url_pattern=full_url_pattern, method=method, parameters=parameters, - body=request.body, + body=request.data, mimetype=request.content_type, ) From bb456c6c4f2ced90d4f8ba2bae2ebf09ad5fadf8 Mon Sep 17 00:00:00 2001 From: Jonathan Takahashi Date: Fri, 17 Apr 2020 00:02:05 +0000 Subject: [PATCH 2/3] DRF view already has request.data deserialized, so skip it here --- openapi_core/validation/request/validators.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/openapi_core/validation/request/validators.py b/openapi_core/validation/request/validators.py index 4e5c4af0..2b18818d 100644 --- a/openapi_core/validation/request/validators.py +++ b/openapi_core/validation/request/validators.py @@ -164,12 +164,7 @@ def _get_body(self, request, operation): return None, [exc, ] try: - deserialised = self._deserialise_media_type(media_type, raw_body) - except DeserializeError as exc: - return None, [exc, ] - - try: - casted = self._cast(media_type, deserialised) + casted = self._cast(media_type, raw_body) except CastError as exc: return None, [exc, ] From 6ee1362e8a9125ba1440683134289696fc3d3322 Mon Sep 17 00:00:00 2001 From: Hugh Enxing Date: Wed, 19 Jan 2022 16:25:02 -0500 Subject: [PATCH 3/3] Pins openapi-schema-validator ==0.2.0 --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 9f7298df..f1127e82 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,8 +26,8 @@ setup_requires = setuptools install_requires = isodate - openapi-spec-validator - openapi-schema-validator + openapi-spec-validator ==0.3.1 + openapi-schema-validator ==0.2.0 six lazy-object-proxy attrs