Do not attempt to generate a response schema for form-only requests

It would probably fail because Schema objects cannot represent files
openapi3
Cristi Vîjdea 2017-12-15 11:14:47 +01:00
parent e14c102b59
commit f6a535eb45
3 changed files with 5 additions and 5 deletions

View File

@ -225,6 +225,8 @@ class SwaggerAutoSchema(object):
default_schema = self.get_request_serializer()
default_schema = default_schema or ''
if any(is_form_media_type(encoding) for encoding in self.get_consumes()):
default_schema = ''
if default_schema:
if not isinstance(default_schema, openapi.Schema):
default_schema = self.serializer_to_schema(default_schema)

View File

@ -54,7 +54,7 @@ class ArticleViewSet(viewsets.ModelViewSet):
return Response(serializer.data)
@swagger_auto_schema(method='get', operation_description="image GET description override")
@swagger_auto_schema(method='post', request_body=serializers.ImageUploadSerializer, responses={200: 'success'})
@swagger_auto_schema(method='post', request_body=serializers.ImageUploadSerializer)
@detail_route(methods=['get', 'post'], parser_classes=(MultiPartParser,))
def image(self, request, slug=None):
"""

View File

@ -187,8 +187,6 @@ paths:
responses:
'200':
description: ''
schema:
$ref: '#/definitions/Article'
consumes:
- multipart/form-data
tags:
@ -221,8 +219,8 @@ paths:
required: true
type: file
responses:
'200':
description: success
'201':
description: ''
consumes:
- multipart/form-data
tags: