drf_yasg не принимает TYPE_ARRAY в качестве допустимого типа
Генератор swfger drf_yasg не принимает TYPE_ARRAY в качестве допустимого типа параметра. реализация заключается в следующем
from drf_yasg import openapi
param1 = openapi.Parameter('param_name',
in_=openapi.IN_QUERY,
description='description of param',
type=openapi.TYPE_ARRAY,
required=True
)
тогда как документация drf_yasg предполагает, что он принимает openapi.TYPE_ARRAY в качестве допустимого типа.
ошибка, которую генерируют генераторы
File "/usr/local/lib/python3.6/dist-packages/drf_yasg/codecs.py", line 73, in encode
raise SwaggerValidationError("spec validation failed", errors, spec, self)
drf_yasg.errors.SwaggerValidationError: spec validation failed
Есть ли какая-то конфигурация, которую я пропускаю или что-то, потому что TYPE_STRING,TYPE_NUMBER работает отлично.
0 ответов
Parameter
из TYPE_ARRAY
требует items
ключ:
param1 = openapi.Parameter('param_name',
in_=openapi.IN_QUERY,
description='description of param',
type=openapi.TYPE_ARRAY,
items=openapi.Items(type=openapi.TYPE_STRING) # <------
required=True
)
См. Спецификацию OpenAPI 2.0 для более подробной информации.