Cristi Vîjdea 2017-12-27 03:00:47 +01:00
parent 1aaec6b3e5
commit c85acee405
3 changed files with 10 additions and 5 deletions

View File

@ -211,7 +211,14 @@ def find_regex(regex_field):
regex_validator = validator
# regex_validator.regex should be a compiled re object...
return getattr(getattr(regex_validator, 'regex', None), 'pattern', None)
pattern = getattr(getattr(regex_validator, 'regex', None), 'pattern', None)
if pattern:
# attempt some basic cleanup to remove regex constructs not supported by JavaScript
# -- swagger uses javascript-style regexes - see https://github.com/swagger-api/swagger-editor/issues/1601
if pattern.endswith('\\Z') or pattern.endswith('\\z'):
pattern = pattern[:-2] + '$'
return pattern
numeric_fields = (serializers.IntegerField, serializers.FloatField, serializers.DecimalField)

View File

@ -162,9 +162,7 @@ class SwaggerAutoSchema(ViewInspector):
default_status = guess_response_status(method)
default_schema = ''
if method == 'post':
default_schema = self.get_request_serializer() or self.get_view_serializer()
elif method in ('get', 'put', 'patch'):
if method in ('get', 'post', 'put', 'patch'):
default_schema = self.get_request_serializer() or self.get_view_serializer()
default_schema = default_schema or ''

View File

@ -1108,7 +1108,7 @@ definitions:
items:
type: string
format: slug
pattern: ^[-a-zA-Z0-9_]+\Z
pattern: ^[-a-zA-Z0-9_]+$
readOnly: true
readOnly: true
uniqueItems: true