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 = self.get_request_serializer()
default_schema = default_schema or '' default_schema = default_schema or ''
if any(is_form_media_type(encoding) for encoding in self.get_consumes()):
default_schema = ''
if default_schema: if default_schema:
if not isinstance(default_schema, openapi.Schema): if not isinstance(default_schema, openapi.Schema):
default_schema = self.serializer_to_schema(default_schema) default_schema = self.serializer_to_schema(default_schema)

View File

@ -54,7 +54,7 @@ class ArticleViewSet(viewsets.ModelViewSet):
return Response(serializer.data) return Response(serializer.data)
@swagger_auto_schema(method='get', operation_description="image GET description override") @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,)) @detail_route(methods=['get', 'post'], parser_classes=(MultiPartParser,))
def image(self, request, slug=None): def image(self, request, slug=None):
""" """

View File

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